Scala--语言特性

在去了解Scala的语言基本使用上 我参考了 Scala 教程| 菜鸟教程 里面简单了介绍了语法相关内容。刚开始感觉很像kotlin。 下面列了一些其注意地方。

  • object是默认实现的单利模式,在Scala中是没有static注意:scale中方法的引用省略了.(点)符号
// 私有构造方法
class Marker private(val color:String) {

  println("创建" + this)

  override def toString(): String = "颜色标记:"+ color

}

// 伴生对象,与类共享名字,可以访问类的私有属性和方法
object Marker{

    private val markers: Map[String, Marker] = Map(
      "red" -> new Marker("red"),
      "blue" -> new Marker("blue"),
      "green" -> new Marker("green")
    )

    def apply(color:String) = {
      if(markers.contains(color)) markers(color) else null
    }


    def getMarker(color:String) = { 
      if(markers.contains(color)) markers(color) else null
    }
    def main(args: Array[String]) { 
        println(Marker("red"))  
        // 单例函数调用,省略了.(点)符号  
        println(Marker getMarker "blue")  
    }
}

  • Scale中的 for循环中和java不太一样
for(i <- array){ // 用<- 代替了java中的 :

}
  • Scale的提取器

  • ScaleTrait特性

  • Scale的模式匹配

  • Scale的闭包

猜你喜欢

转载自blog.csdn.net/qq_15807167/article/details/80457489