• 【scala】语法的省略


    我们直到JAVA在语法方面是冗长的,但是JAVA的可读性非常好。

    在Scala的语法并不像JAVA那样冗长,但是又不失可读性,我们这里记录一下常见的语法省略。

    首先是我们可以省略数据类型,因为Scala有自动的类型判断机制。

    完整写法   var  myVar :String = “Scala”; 

    我们可以省略掉类型声明,让它来自己判断   var myVar = “Scala”;

    其实方法也是可以省略返回数据类型的。

    完整写法   def add(a:Int,b:Int) :Int = { return a+b }  //我们定义一个add方法,参数为两个Int类型,返回值为Int类型

    我们还可以省略掉return,方法把最后一个计算结果当作返回结果返回。

     def add(a:Int,b:Int) :Int = { a+b }

    我们这里可以将方法的返回类型和等号省略掉,让语言自己来判断。

     def add(a:Int,b:Int)  { a+b }

    当我们方法块中的语句只有一行的时候,我们可以省略到大括号

    def add(a:Int,b:Int) :Int = a+b ;

    当我们方法块中的语句只有一行的时候,我们可以省略到大括号的同时省略掉返回值类型

    def add(a:Int,b:Int)  = a+b ;

    但是一定要注意,我们要么省略等于号,要么省略大括号。两者不能同时省略。

    def add(a:Int,b:Int)  a+b ;//等于号和大括号都没写,这样写是错误的!

    示例

    class Counter{

      private var value = 0;

      def add():Unit = value+= 1//等同于def add() { value+=1 }

      def current() { value }  //等同于 def current() :Int = value;

    }//注意,scala中没有i++一说,只有i+=1.

    当我们在调用无参方法的时候也可以省略掉后边的圆括号。

    var myCounter = new Counter;//省略掉了圆括号var myCounter = new Counter();

    myCounter.add();//没省略

    println(myCounter.current);//省略了

    注意,一定要是方法没有参数的时候,有参数的时候不能省略。

  • 相关阅读:
    【笔记】进化型开发方法
    错误注入学习笔记
    【C/C++】关于编译错误 "error C2146: syntax error : missing ';' before identifier 'xxx'"
    查找进程加载到内存中的EntryPoint
    devepxress qtp 点击子菜单
    RijndaelManaged 自定义key和iv
    sql server transaction
    使用gzip压缩字符串
    tsql 与时间(周)相关的一些操作
    excel 合并单元格
  • 原文地址:https://www.cnblogs.com/zzhangyuhang/p/8921653.html
Copyright © 2020-2023  润新知