• 【scala】可变参数


    Scala允许使用可变的参数列表。

    语法

      在声明的参数类型后边添加星号(*)

    示例

    object HelloWorld{
        def hello(args:String*): Unit ={
            for(arg <- args)
                println("hello "+arg)
        }
        def main(args:Array[String]): Unit ={
            hello("zhangyuhang","zhangqiuyue")
        }
    }
    

    结果

    hello zhangyuhang
    hello zhangqiuyue

    我们可以看到,我们在定义args参数的时候,后边注明了参数类型,在参数类型后边加了一个星号实现了可变参数。

    但是,我们并不能使用不同类型的可变参数,也就是说必须一个类型。

    实际上,String*  传入的参数会被构成一个Array[String]

    但是,我们在使用的时候必须要一个参数一个参数的传入,数量并没有限制。

    既然不是参数最终是个Arrary[String]类型嘛,那么我传入一个Array[String]类型参数可以嘛?

    不行,会报错的。

    val strArr = Array("zhangyuhang","zhangqiuyue");
    hello(strArr);//报错
    hello(strArr:_*);//正确,strArr:_* 表示把strArr内的元素逐个传入hello函数中

    我们在java中使用的可变参数要用到 ...  注意区分。

    public void hello(String... args){
            for(String arg:args)
                System.out.println("hello "+arg);
    }
    

      

  • 相关阅读:
    HDR算法(一)
    机器视觉话题入门资料---能看懂大致原理再去纠细节
    WRT callback
    dependency of static library
    dll 和 lib--初级
    memory corruption
    Python~函数的参数
    Python~函数
    Python~if,while,for~顺序,判断,循环
    Python~list,tuple^_^dict,set
  • 原文地址:https://www.cnblogs.com/zzhangyuhang/p/9002061.html
Copyright © 2020-2023  润新知