scala中默认擦描述和带名参数

package org.funmo.scala
object HelloScala {
  def main(args:Array[String]){
      // 使用默认参数
      decorate(str="111")
  }
  
  def decorate(str:String,left:String="[",right:String="]")={
    printf("%s,%s,%s",str,left,right)
  }
}

scala函数参数的传参方式为从左到右,上面代码的执行结果为:

111,[,],其中"["和“]”是默认参数;再看下面代码

package org.funmo.scala
object HelloScala {
  def main(args:Array[String]){
    decorate(str="111",left="222",right="333")
  }
  
  def decorate(str:String,left:String="[",right:String="]")={
    printf("%s,%s,%s",str,left,right)
  }
}

同样的也可以指定参数名进行传参,上面代码的执行结果如下:

111,222,333。

同样的如果使用参数名方式进行传参,也可以不用遵守参数的位置,如下代码:

package org.funmo.scala
object HelloScala {
  def main(args:Array[String]){
    decorate(str="111",right="333",left="222")
  }
  
  def decorate(str:String,left:String="[",right:String="]")={
    printf("%s,%s,%s",str,left,right)
  }
}

上面的代码执行结果同样为:111,222,333。



你可能感兴趣的:(scala中默认擦描述和带名参数)