简介
多范式的编程语言。Scala基于java之上。
特性
- 纯面向对象语言
- 函数式编程
- 静态类型
- 拓展性
基本语法
scala和java的最大区别:结尾的分号可选
scala程序是对象的集合,通过调用彼此的方法来实现消息传递。
大小写敏感
类名:第一个字母大写
方法名:驼峰
文件名:和类名完全匹配
scala是面向行的语言,语句可以用;
结束或者换行符
包:
package com.runoob
package com.runoob {/* class */}
引用:
|
|
数据类型
和Java相同的数据类型。
变量
var myVar : String = "foo"
声明变量val myVar : String = "foo"
声明常量var VariableName : DataType [= Initial Value]
数据类型不是必须的,可以通过初始值自动判断。
访问修饰符
private
,protected
,public
方法和函数
函数是一个完整的对象,继承了Trait的类的对象。
用val
定义函数,def
定义方法。1234def functionName ([参数列表]) : [return type] = {function bodyreturn [expr]}
如果没有返回值,可以返回Unit
,类似java的void。
传名调用(call by name)
- 传值调用(call by value)
进入函数内部前,就已经把函数表达式的值计算完毕。 - 传名调用(call by name)
在函数内部进行参数表达式的值的计算。