scala教程(二)
来源:互联网 发布:时间轴画图软件 编辑:程序博客网 时间:2024/06/16 08:34
1.这是scala基础系列教程,适合入门者学习。
2.函数
定义函数
//没有返回值的函数,Unit 类似voiddef error1(msg:String): Unit = { println(msg)}// 类似上面的简写方式: 去掉Unitdef 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
阅读全文