Scala语言
Scala语言是一种Java平台上的编程语言,兼具面向对象和函数式的特点。
较之Java语言,Scala语言的程序通常更为简洁。
较之Java语言,Scala语言的程序通常更为简洁。
基本语法
- 声明常量用val,声明变量用var,声明函数用def。
类型修饰采用后置语法,用冒号指示,省略时由编译器根据上下文自行推导。
声明常量和变量:自带初值时类型修饰可省略。
声明函数:用等号指示函数体,参数类型不可省略,函数体存在时不论有无返回值返回类型均可省略。
常量 变量 函数(有返回值) 函数(无返回值) Scala val i = 10
val i: Int = 10var i = 10
var i: Int = 10def f(n: Int): Int = {return n + 1}
def f(n: Int) = {n + 1}
def f(n: Int) = n + 1def f(): Unit = {println("hello")}
def f() = {println("hello")}
def f() {println("hello")}
def f() = println("hello")
def f = println("hello")Java final int i = 10; int i = 10; int f(int n){return n + 1;} void f() {System.out.println("hello");} C# const int i = 10;
readonly int i = 10;var i = 10;
int i = 10;int f(int n){return n + 1;}
int f(int n) => n + 1;void f() {Console.WriteLine("hello");}
void f() => Console.WriteLine("hello"); - 字符串插值(string interpolation)的语法形式为 $变量 以及 ${表达式}。
字符串插值 Scala val x = 10; val y = 20
val s = s"x=$x, y=${y + 1}"C# var x = 10; var y = 20;
var s = $"x={x}, y={y + 1}"; - 泛型使用中括号。
- 数据结构方面,数组,链表使用类型名加小括号,字典使用类型名加小括号加箭头,元组只需要小括号。
数组 链表 字典 元组 声明 val x = Array(1, 2, 3)
val x = new Array[Int](3)val x = List(1, 2, 3)
val x = Map(1 -> "a", 2 -> "b", 3 -> "c") val x = (1, 2.0, "3") 类型 Array[Int] List[Int] scala.collection.immutable.Map[Int,String] (Int, Double, String) 使用 val a = x(1)
// a :Int = 2val a = x(1)
// a :Int = 2val a = x(1)
// a :String = aval a = x._1
// a :Int = 1