suchang的博客

程序猿吐槽专用

第二章 scala入门初探

注意:Scala中,表达式后的分号可以省去(多个表达式写在同一行则还是需要分号的),但是Scala源码中都是带分号的,所以建议保留分号

  • 使用Scala解释器
    • 在Scala解释器中键入代码块可以采用命令::paste,以CTRL+D结束;
  • 变量定义
    • var声明的变量,可以在生命周期中被多次赋值 ;
    • val声明的变量,类似Java中final变量,一旦初始化,就不能再被赋值;
    • 变量最好写明类型,这会有便于之后的代码阅读(虽然Scala中有类型推断机制);
  • 函数定义

    • 定义函数用关键字def
    • 函数名
    • 参数列表,其中每个参数都必须带有前缀冒号的类型标注(编译器无法推断函数的参数类型)
    • 函数结果类型,例如(: Int)
    • 函数体,放在{}内
    def max(x: Int, y: Int): Int = {
      if(x > y) {
        x;
      } else {
        y;
      }
    }
  • 脚本
    使用命令scala可以编译.scala文件;
    命令行参数存放在名为args的Scala数组里,用args(0)访问第一个元素;

  • while做循环,if做判断

    var i = 0;
    while(i < args.length) {
      if(i != 0) {
      print(" ");
    }//(个人习惯)在代码块仅有一行语句时也用{}
      println(args(i));
      i += 1;
    }
    println();
  • foreach和for做枚举

    • 用foreach可以更简洁的打印每个命令行参数,这是一种更为函数式的编程风格。
      以下三种写法都表达同一个意思:
    • 第三种最简明的写法的条件是:函数字面量只有一行语句并指代一个参数,那么可以将指代参数省去。
      args.foreach(arg => println(arg));
      args.foreach((arg: String) => println(arg));
      args.foreach(println);

    • 函数自面量:

      1. 括号及命名参数列表 (x: Int, y: Int)
      2. 右箭头 =>
      3. 函数体 x + y;
        用for也可以写出简明的代码:
        for(arg <- args) {
          println(arg);
        }
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/suchang1127/article/details/49933871
文章标签: scala
个人分类: Scala
所属专栏: Scala编程学习笔记
想对作者说点什么? 我来说一句

zigbee入门与实践1-6章

2014年03月04日 12.57MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭