![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Scala
ChunKwanTong
这个作者很懒,什么都没留下…
展开
-
Scala-对象、Case Class和Trait
对象Object 是一个类类型,只能有不超过1个实例,是“单例对象”。 不能用new创建,只需要按名直接访问。 首次访问时在当前JVM中自动实例化,也就是说在首次访问前,它并不会实例化。 对象可以扩展另一个类,不过反之不成立。 最适合对象的方法是纯函数和处理外部IO。 纯函数:返回完全由其输入计算得到的记过,没有副作用,在引用方面是透明的。 IO是处理外部数据的函数。 伴生对象Companion Object 是与类同名的一个对象,与类在同一个文件中定义。 伴生对象和类可以认为是单个单元,可以互原创 2020-06-02 14:11:37 · 471 阅读 · 0 评论 -
Scala-类
类(Classes) 是面向对象语言的核心。 是数据结构和函数(“方法”)的组合。 java.lang.Object类是JVM中所有实例的根,包括Scala,实际上等价于Scala根类型Any。 类参数可以用来初始化字段的值,或用于传入函数,但是一旦类已经创建,这些参数就不再可用。 在类参数前面增加关键字val或者var,类参数可以直接成为类的一个字段。 Scala类型推导特性:可以查找一个或多个实例的基本公共类型。 定义类 语法:class [extends ] [{fields,methods,原创 2020-06-02 14:10:59 · 132 阅读 · 0 评论 -
Scala函数
函数 尽量使用纯函数 有一个或多个输入参数 只使用输入参数完成计算 返回一个值 对于相同的的输入总返回相同的值 不使用或影响函数之外的任何数据 不受函数之外的任何数据的影响 等价于数学中的函数 更稳定、无状态、与外部数据正交 定义函数 def (:,[,…]): = 最后一行将成为表达式的返回值 如需要提早结束可使用return返回 用空括号定义函数 定义和调用无输入的函数,可使用空括号 def ()[:] = 对于没输入的函数,约定:如果函数有副作用(会修改其范围之外的数据),定义应原创 2020-05-25 22:57:43 · 146 阅读 · 0 评论 -
Scala数据类型
值 不可变 有类型的存储单元 使用val声明 可显式类型覆盖scala的自动类型推导 变量 可变 使用var声明 更倾向于用值,因为值作为不可变的值更稳定,更具有可预测性 命名 使用Camel Case写法:小写字母开头,剩余单词首字母大写 类型 数值类型 Byte Short Int Long Float Double Scala可自动低等级到高等级(从上往下)进行转换 正是Java同名的包装器 Scala不支持从高等级到低等级的自动转换:从存储空间较大的类型转换为存储空间变小的类型会原创 2020-05-25 22:57:06 · 194 阅读 · 0 评论