Scala的函数基础

1.Scala函数的参数默认值

Scala可以为函数参数指定默认值,这样在调用函数中可以不需要传递参数,这时函数就会调用其默认值。如果传递了参数,则传递值会取代默认值。

object dd {
  //参数有默认值的函数,函数名(参数名1:类型=默认值1,参数名2:类型=默认值2)
  //有了默认值之后,如果没有传入参数,就使用默认值
  def fn(a:Int = 1,b:Int=2):Int={
    println(s"a=$a,b=$b")
    a+b

  }
  def main(args: Array[String]): Unit = {
    println( fn())
    println(fn(100))
    println(fn(200))
    println(fn(100,200))

  }

}

2.Scala的函数参数的变参

功能:求所有参数的累加

变参的特点:参数的个数是不确定的

思路:找一个容器吧参数全部装起来!

写法:参数类型后边加*(b(strs:String*))

  def getSum(args:Int*):Unit={
    println(args)
    var sum = 0
    for(i <-args){
      println(i)//i就是一个一个的参数
      sum +=i
    }
  }
  def main(args: Array[String]): Unit = {
//    println( fn())
//    println(fn(100))
//    println(fn(200))
//    println(fn(100,200))
 var s= getSum(1,2,3)//6
    println(s)
    getSum(1,2,3,10)//16
    println(getSum(2,3))//5
  }

}
3.Scala的函数链式风格

链式风格并不是一种语法而是一种设计模式,通过一些编程技巧实现链式风格编程。

class Stud(){
  //函数写在class内部,就叫方法
  //在方法中返回this
  //返回Stud方法
  def sayHello():this.type ={
    println("sayHello...")
    this//返回值
  }
def run():Unit={
  println("running")
}
  def sleep():this.type ={
    println("sleeping.......")
    this
  }

}
object ddd {
  def main(args: Array[String]): Unit = {
    //创建对象
    var s1 = new Stud()
    //2.调用方法
    s1.sayHello().run().sleep()

如何设置函数的默认参数?

在参数列表中补充=默认值

如何实现链式风格?

在方法中返回this

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值