scala教程(二) 函数

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

//调用函数 ,求58 的和
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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值