首页 > 技术文章 > scala 操作符 熟悉

sowhat1412 2019-10-31 19:28 原文

  1.  如果想在变量名,类名等定义中使用关键字(比如val ,int,double 这样的系统关键字) 可以配合两个反引号实现,引用时候也要带引号
  2.  中置操作符:  A 操作符 B  等价于 A . 操作符(B)  , 1::Nil 等价于 Nil.::(1)  
  3.  后置操作符: A 操作符 等同于 A.操作符,如果操作符定义的时候不带(),调用时候不能加(),定义时候带() 可以在调用时候不加()  
  4. 前置操作符: + 、-、*、/ 、!、~等操作符。 操作符 A  等价于  A.unary_操作符
  5. 赋值操作符: A 操作符= B 等价于 A = A 操作符 B,比如  A+=B 等价 A= A + B 

以上只是针对于绝大部分情况

demo如下:

object aiguigu {
  def main(args: Array[String]): Unit = {

    var `var` = 12
    `var` += 10

    val n1 = 1
    val n2 = 2
    var r1 = n1 + n2
    var r2 = n1.+(n2)

    val test = new Demo
    test + 10
    test.+(10)

    test++
    // 上下之间必须有空格不知道为什么

    test.++

    println(test.money)

    !test
    println(test.money)



  }
}

class Demo {
  var money: Int = 0

  def +(n: Int) = this.money += n

  def ++() = this.money += 1

  def unary_!() = this.money = -this.money

}

 

推荐阅读