菜鸟教程_Scala学习笔记
⼀、Scala介绍
Scala特性
⾯向对象:Scala是⼀种纯⾯向对象的语⾔,每个值都是对象。对象的数据类型以及⾏为由类和特质描述。类抽象机制的扩展有两种途径:⼀种途径是⼦类继承,另⼀种途径是灵活的混⼊机制。这两种途径能避免多重继承的种种问题。
⾯向函数:Scala的case class及其内置的模式匹配相当于函数式编程语⾔中常⽤的代数类型。更进⼀步,程序员可以利⽤Scala的模式匹配,编写类似正则表达式的代码处理XML数据。
静态类型:Scala具备类型系统,通过编译时检查,保证代码的安全性和⼀致性。
菜鸟教程python面向对象并发性:Scala使⽤Actor作为其并发模型,Actor是类似线程的实体,通过邮箱发收消息。Actor可以复⽤线程,因此可以在程序中可以使⽤数百万个Actor,⽽线程只能创建数千个。在2.10之后的版本中,使⽤Akka作为其默认Actor实现。
⼆、基本语法
命名:
程序⽂件名 - 程序⽂件的名称应该与对象名称完全匹配(新版本不需要了,但建议保留这种习惯)。
标识符:应该避免使⽤以下划线结尾的标志符以避免冲突。
字⾯量标志符为使⽤"定义的字符串,⽐如 `x` `yield`。
符号字⾯量: '<;标识符> ,这⾥ <;标识符> 可以是任何字母或数字的标识(注意:不能以数字开头)。这种字⾯量被映射成预定义类scala.Symbol的实例。如: 符号字⾯量 'x 是表达式 scala.Symbol("x") 的简写。
如果在没有指明数据类型的情况下声明变量或常量必须要给出其初始值,否则将会报错。
Scala默认访问修饰符是public,Scala 中的 private 限定符,⽐ Java 更严格,在嵌套类情况下,外层类甚⾄不能访问被嵌套类的私有成员。
Scala作⽤域保护:private[x] 或 protect[x],x指代某个所属的包、类或单例对象,private[x]读作“这个成员除了对[…]中的类或[…]中的包中的类及它们的伴⽣对像可见外,对其它所有类都是private”。这种技巧在横跨了若⼲包的⼤型项⽬中⾮常有⽤

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。