任何方法都是可以是操作符

:::info 在Scala中,操作符并不是特殊的语法,本质便是方法,同时任何方法都可以是操作符。
s.indexOf(‘o’)时,indexOf可视为方法
s indexOf ‘o’时,indexOf可视为操作符,此时使用的是操作符表示法 ::: 例如:
1+2本质上和1.+(2)是同一回事
可以理解为,Int类中有一个名为+的方法,作为Int类的对象1自然可以调用其+方法

Tip:使用操作符表示法调用一个参数时,可以省略圆括号,当调用多个参数时,必须将这些参数放在圆括号中 如果方法有副作用的时候保留空的圆括号,比如println() 方法没有副作用时可以省掉这组圆括号,比如String调用toLowerCase

  1. object test_stdin {
  2. def main(args: Array[String]): Unit = {
  3. println(1 + 2) //3
  4. println(1.+(2)) //3
  5. val s = "Hello World"
  6. println(s.toLowerCase()) //hello world
  7. println(s.toLowerCase) //hello world
  8. }
  9. }