scala 基础四 scala 的函数扩展 默认参数,不定长参数,带名参数

  1. 默认参数,默认参数就是在函数定义的时候直接给函数的入参进行赋值
package smart.iot

class func {

}

object func
{
    //参数默认值 格式     参数:参数类型="要设置的默认值"
    def funcadd(str:String="hello scala!")
    {
      println(str);
    }

    def main(args: Array[String]): Unit = {
      funcadd()
    }
}

输出:hello scala!

  2.带名参数, 赋值的时候,参数的顺序可以不一致

package smart.iot

class func {

}

object func
{
    //参数默认值 格式     参数:参数类型="要设置的默认值"
    def funcadd(name:String,age:Int)
    {
      println(name+"    "+age);
    }

    def main(args: Array[String]): Unit = {
      funcadd(age=18,name="james")
    }
}

  3.不定长参数 方法

  

package smart.iot

class func {

}

object func
{
    //参数默认值 格式     参数:参数类型="要设置的默认值"
    def funcadd(name:String,age:Int)
    {
      println(name+"    "+age);
    }

    //不定产参数的方法 格式为    参数名:参数类型*
    def add(a:Int*)
    {
      for(i<-a)
      {
        println(i);
      }
    }

    def main(args: Array[String]): Unit = {

      add(1,2,4,6,9,0);
    }
}

输出:124690
时间: 2024-11-05 16:27:23

scala 基础四 scala 的函数扩展 默认参数,不定长参数,带名参数的相关文章

快学Scala 第二课 (apply, if表达式,循环,函数的带名参数,可变长参数,异常)

apply方法是Scala中十分常见的方法,你可以把这种用法当做是()操作符的重载形式. 像以上这样伴生对象的apply方法是Scala中构建对象的常用手法,不再需要使用new. if 条件表达式的值就是跟在if或else之后的表达式的值,如果两者类型不同,选择各分支类型的公共超类型作为返回类型. if(x>1) 1 相当于 if(x>1) 1 else () 你可以把()当做是表示"无有用值"的占位符,将Unit当做Java的Void 如果你在写较长的语句,需要分行来写的

C++基础2 引用 函数扩展: 默认值 占位符 指针 重载 类:引用类指针 声明实现分开写

[难点]指针引用 [email protected]:~/c++$ cat main.cpp  #include <stdlib.h> #include "iostream" using namespace std; int a = 20; struct Teacher { int age; char name[64]; }; int fun1(struct Teacher ** p) { int ret = 0; if(p == NULL) { ret = -1; ret

深入理解javascript函数系列第四篇——ES6函数扩展

× 目录 [1]参数默认值 [2]rest参数 [3]扩展运算符[4]箭头函数 前面的话 ES6标准关于函数扩展部分,主要涉及以下四个方面:参数默认值.rest参数.扩展运算符和箭头函数 参数默认值 一般地,为参数设置默认值需进行如下设置 function log(x, y) { y = y || 'World'; console.log(x, y); } 但这样设置实际上是有问题的,如果y的值本身是假值(包括false.undefined.null.''.0.-0.NaN),则无法取得本身值

Scala基础篇-控制结构和函数

1. 条件表达式 scala> if(x>1)"positive" else -1 2. 循环 while(n>0){ } for(i <- 0 to 10){ println(i) } for(i <- 表达式)语法结构表示让变量遍历右边表达式的所有值.

scala 基础九 scala 类的扩展和继承extends override

1.scala 类的继承 package smart.iot //父类 animal 有三个参数 class animal(var name:String,var age:Int,var eat:String) { } //子类 panda 继承父类 animal class Panda( name:String, age:Int, eat:String,var blackeye:String) extends animal(name,age,eat) { } object load { def

scala 基础六 scala Map和元组的操作

1.Map的介绍 Map(映射)是一种可迭代的键值对(key/value)结构.所有的值都可以通过键来获取.Map 中的键都是唯一的.Map 也叫哈希表(Hash tables).Map 有两种类型,可变与不变,区别在于可变对象可以修改它,而不可变对象不可以.默认情况下 Scala 使用不可变 Map.如果你需要使用可变集合,你需要显式的引入 import scala.collection.mutable.Map 类 2.Map 的分类和定义   //不可变Map    var m1=Map("

scala 基础三 scala 静态方法的实现

.scala没有静态的修饰符,但object下的成员都是静态的 ,若有同名的class,这其作为它的伴生类.在object中一般可以为伴生类做一些初始化等操作 1 package smart.iot 2 3 4 class ScalaStatic { 5 6 } 7 8 object statictest 9 { 10 def add(x:Int,y:Int):Int={x+y} 11 //以上的函数也可以写成下面的格式,省略掉花括号,返回值是scala自动推断出来的 12 //def add(

Scala基础02:函数,异常

函数的默认参数 例: def decorate(str: String, left: String = “[”, right: String = “]”) = left + str + right 无参函数的调用可以不使用括号.但默认参数不代表没有参数.对于所有参数都是默认参数的函数,其调用必须使用括号. 例: def helloSpark(name:String = “Spark”){ println(name) } 调用该函数: helloSpark 错误 helloSpark() 正确 h

Scala 基础(8)—— 占位符_和部分应用函数

1. 占位符 _ 针对 Scala 基础(7)-- 函数字面量和一等函数 中最后提到的,关于 filter 函数字面量的精简写法,可以使用占位符 _ 来代替. 占位符_,用来表示一个或者多个参数.(这里的多个参数不是表示一个下划线代表多个参数,而是多个下划线可以代表多个参数) 在函数字面量的表达中,可以将下划线看成是"要填的空",函数每次被调用时,这个"空"就回被一个参数"填"上. 例如: def main(args: Array[String]