1.这是scala基础系列教程,适合入门者学习。
2.函数
定义函数
//没有返回值的函数,Unit 类似void
def error1(msg:String): Unit = {
println(msg)
}
// 类似上面的简写方式: 去掉Unit
def error2(msg:String){
println(msg)
}
//类似上面的简写方式: 去掉函数括号
def error3(msg:String)=println(msg)
//带默认值
def error4(msg:String="我是默认值")=println(msg)
可变参数
def sum(nums:Int*)={
var sum = 0
for(i <- nums){
sum += i
}
// 这里是函数返回sum
sum
}
// 调用 求1 到10 的和
println(sum(1,2,3,4,5,6,7,8,9,10))
匿名函数
格式: val 变量名 = (参数:类型) => 函数体
var p = (msg:String) => println(msg)
p("调用匿名函数")
高阶函数: 用函数作为形参或带返回值的函数
下面是参数是函数的例子:
// 定义一个 匿名函数
var pFun = (msg:String)=>println(msg)
// 定义一个高阶函数
// 第一个参数为函数: p:(String)=>Unit 是函数的形式声明(p函数名,一个String类型参数,无返回值)
//第二个参数为普通变量参数:
def test(p:(String)=>Unit , msg:String)=p(msg)
// 调用高阶函数
test(pFun,"高阶函数")
下面是返回值是函数的例子:
// 定义一个匿名函数
var pFun = (a:Int,b:Int)=>a+b
// 定义一个高阶函数
// 返回值为函数: (Int,Int)=>Int 是函数的形式声明(有两个Int参数,返回值是Int)
// =号 后面的 就是具体的函数
def sum():(Int,Int)=>Int = pFun
//调用函数 ,求5 和8 的和
sum()(5,8)
Scala 函数柯里化
//普通函数定义
def add(x:Int,y:Int)=x+y
//换成柯里化 定义
def add2(x:Int)(y:Int)= x +y
//柯里化调用 (打印5和7的和)
println(add2(5)(7))
函数就到这里,谢谢观看
老生常谈:深圳有爱好音乐的会打鼓(吉他,键盘,贝斯等)的程序员和其它职业可以一起交流加入我们乐队一起嗨。我的QQ:657455400 表演视频实例:https://v.qq.com/x/page/f0517awx0x4.html