当前位置: 首页>编程语言>正文

Scala:First Steps in Scala

var and val

简单来说,val声明的变量可以重新修改其引用,val则不行,见下面的例子:

 1 def max(x: Int, y: Int): Int = {
 2   if(x > y) x else y 
 3 }
 4 
 5 def max(x: Int, y: Int): Int =  if(x > y) x else y 
 6 
 7 var list = Array(1, 2, 3)
 8 list.foreach(x => println(x))
 9 
10 for(x <- list) {
11   println(x)
12 }
13 
14 def test(fun: (Int, Int) => Unit): Unit = {
15   fun(5, 6)
16 }
17 
18 def printlnXY(x: Int, y: Int): Unit = {
19   println(x)
20   println(y)
21 }
22 
23 test(printlnXY)
24 
25 test((x, y) => {
26   println(x)
27   println(y)
28 })

采用后缀类型声明法的原因是Scala支持类型推断,这样后面的类型声明在大多数情况下是可以忽略的。

Define some function

基本语法

1 def max(x: Int, y: Int): Int = {
2   if(x > y) x else y 
3 }

如果方法只包含一行代码,则可以这样写:

1 def max(x: Int, y: Int): Int =  if(x > y) x else y 
Iterate with foreach and for
1 var list = Array(1, 2, 3)
2 list.foreach(x => println(x))

语法感觉非常亲切(类似C#)。有点委托、匿名方法和Lamda表达式的味道。

 1 def test(fun: (Int, Int) => Unit): Unit = {
 2   fun(5, 6)
 3 }
 4 
 5 def printlnXY(x: Int, y: Int): Unit = {
 6   println(x)
 7   println(y)
 8 }
 9 
10 test(printlnXY)
11 
12 test((x, y) => {
13   println(x)
14   println(y)
15 })

 

框架地址:http://happy.codeplex.com

https://www.xamrdz.com/lan/5vn1924399.html

相关文章: