摘要:
一个从类型 S 到类型 T 的隐式转换由一个函数类型 S => T 的隐式值来定义,或者由一个可转换成所需值的隐式方法来定义。 隐式转换在两种情况下会用到: 如果一个表达式 e 的类型为 S, 并且类型 S 不符合表达式的期望类型 T。 在一个类型为 S 的实例对象 e 中调用 e.m, 如果被调用
阅读全文
posted @ 2021-02-26 16:15
吹静静
阅读(204)
推荐(0)
编辑
摘要:
匿名函数 Scala 中定义匿名函数的语法很简单,箭头左边是参数列表,右边是函数体。 使用匿名函数后,我们的代码变得更简洁了。 下面的表达式就定义了一个接受一个Int类型输入参数的匿名函数: var inc = (x:Int) => x+1 上述定义的匿名函数,其实是下面这种写法的简写: def a
阅读全文
posted @ 2021-02-26 16:11
吹静静
阅读(93)
推荐(0)
编辑
摘要:
在 Scala 里 Option[T] 实际上是一个容器,就像数组或是 List 一样,你可以把他看成是一个可能有零到一个元素的 List。 当你的 Option 里面有东西的时候,这个 List 的长度是 1(也就是 Some),而当你的 Option 里没有东西的时候,它的长度是 0(也就是 N
阅读全文
posted @ 2021-02-26 13:21
吹静静
阅读(123)
推荐(0)
编辑
摘要:
数组(Array) import scala.collection.mutable.ArrayBuffer // 定长数组 val a = new Array[String](5) val b = new Array[Int](5) val c = Array("cjj", "jjc") b.len
阅读全文
posted @ 2021-02-26 11:41
吹静静
阅读(100)
推荐(0)
编辑
摘要:
Scala 构造器和Java的构造方法有相似之处,Scala 构造器分为主构造器和附属构造器,主构造器只有一个,附属构造器可以有无数个。 主构造器 在我们对一个类实例化的时候,一定会调用主构造器,或显式调用或隐式调用的区别而已。 定义一个主构造器 class 类名(....) 主构造器可以携带参数列
阅读全文
posted @ 2021-02-26 11:18
吹静静
阅读(145)
推荐(0)
编辑
摘要:
模式匹配是检查某个值(value)是否匹配某一个模式的机制,一个成功的匹配同时会将匹配值解构为其组成部分。 它是Java中的switch语句的升级版,同样可以用于替代一系列的 if/else 语句。 Scala的模式匹配语句对于使用案例类(case classes)表示的类型非常有用, 同时也可以利
阅读全文
posted @ 2021-02-26 10:35
吹静静
阅读(101)
推荐(0)
编辑
摘要:
class 你可以使用class关键字定义一个类,后面跟着它的名字和构造参数。使用方法和Java中的class相似。 使用new关键字创建一个类的实例。 case class Scala有一种特殊的类叫做样例类(case class)。默认情况下,样例类一般用于不可变对象,并且可作值比较。你可以使用
阅读全文
posted @ 2021-02-26 09:54
吹静静
阅读(406)
推荐(0)
编辑