博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Variable number of arguments (Varargs)
阅读量:6297 次
发布时间:2019-06-22

本文共 1539 字,大约阅读时间需要 5 分钟。

A parameter of a function (normally the last one) may be marked with vararg modifier:

fun 
asList(vararg ts: T): List
{ val result = ArrayList
() for (t in ts) // ts is an Array result.add(t) return result }

allowing a variable number of arguments to be passed to the function:

val list = asList(1, 2, 3)

Inside a function a vararg-parameter of type T is visible as an array of T, i.e. the ts variable in the example above has type Array<out T>.

Only one parameter may be marked as vararg. If a vararg parameter is not the last one in the list, values for the following parameters can be passed using the named argument syntax, or, if the parameter has a function type, by passing a lambda outside parentheses.

When we call a vararg-function, we can pass arguments one-by-one, e.g. asList(1, 2, 3), or, if we already have an array and want to pass its contents to the function, we use the spread operator (prefix the array with *):

val a = arrayOf(1, 2, 3)val list = asList(-1, 0, *a, 4)

 1.一般是函数中的最后一个参数

2.在一个函数中只可以声明一个参数为vararg

3.如果可变参数不是函数中的最后一个参数,则后面的参数通过命名参数语法来传递参数值
4.如果参数类型是函数, 可以在括号之外传递一个
5.传递一个已有的数组则通过*号

@Test fun testPair() {        val list = listOf("hello", true, "world")        val array = list.toTypedArray()        printVararg(*array, lastPrams = "...list...")    }    fun printVararg(vararg params: Any, lastPrams: String) {        for (param in params) {            println("param : $param, lastPrams: $lastPrams")        }    }

 

转载地址:http://vvlta.baihongyu.com/

你可能感兴趣的文章
RPM包安装LAMP及httpd虚拟机SSL实现
查看>>
[Hadoop] Error: JAVA_HOME is not set
查看>>
Hibernate一对一关联映射配置
查看>>
实验三
查看>>
Profiler 使用说明
查看>>
连接mysql数据库,创建用户模型
查看>>
Truncate a string
查看>>
(素材源码)猫猫学IOS(十六)UI之XIB自定义Cell实现团购UI
查看>>
Alpha冲刺总结随笔
查看>>
Python 学习日记5
查看>>
[NIOS] 如何Erase EPCS flash內容
查看>>
JS对象的创建
查看>>
验证文件切分实验
查看>>
【Python】卸载完Python3 之后 Python2 无法打开IDLE
查看>>
创建型设计模式对比总结 设计模式(八)
查看>>
sql 增加字段
查看>>
c++读取文件内容并保存到二维数组
查看>>
解析python数据后用html输出
查看>>
mysql日志分析工具之mysqlsla
查看>>
float 属性详解
查看>>