- Kotlin环境设置(命令行)
- Kotlin Hello World程序(命令行)
- Kotlin程序概念解释
- Kotlin开发环境设置(IDE)
- Kotlin第一个程序(IDE)
- Kotlin变量
- Kotlin数据类型
- Kotlin类型转换
- Kotlin运算符
- Kotlin表达式、语句和块
- Kotlin标准输入/输出
- Kotlin注释
- 控制流程
- 函数
- 数组
- 字符串
- 异常处理
- 空安全
- 集合
- 注解
- 反射
- Kotlin OOP
- 范围
- Java互操作性
- 正则表达式
Kotlin默认和命名参数
Kotlin提供了在函数定义中指定默认参数(参数)的工具。
如果调用函数而不传递任何参数,则使用默认参数作为函数定义的参数。 当使用参数调用函数时,传递参数将用作函数定义中的参数。
默认参数示例1:在函数调用中不传递参数
fun main(args: Array<String>) { run() } fun run(num:Int= 5, latter: Char ='x'){ print("parameter in function definition $num and $latter") }
执行上面示例代码,得到以下结果 -
parameter in function definition 5 and x
在上面的程序中,run()
函数调用没有传递参数,它使用在函数定义中的默认参数。
默认参数示例2:在函数调用中传递一些参数
fun main(args: Array<String>) { run(3) } fun run(num:Int= 5, latter: Char ='x'){ print("parameter in function definition $num and $latter") }
执行上面示例代码,得到以下结果 -
parameter in function definition 3 and x
在上面的程序中,run()
函数调用带有一个(第一个)参数,函数定义的第一个参数是使用传递给函数的值,它指定传递值为:3
。 第二个参数用作默认参数。
默认参数示例3:在函数调用中传递所有参数
fun main(args: Array<String>) { run(99,'z') } fun run(num:Int= 5, latter: Char ='x'){ print("parameter in function definition $num and $latter") }
执行上面示例代码,得到以下结果 -
parameter in function definition 99 and z
由于所有参数都在run()
函数调用中传递,因此函数定义的参数使用函数调用中传递的参数。
Kotlin命名参数
在讨论命名参数之前,先对上面的程序中做一些修改。
示例:
fun main(args: Array<String>) { run('a') } fun run(num:Int= 5, latter: Char ='x'){ print("parameter in function definition $num and $latter") }
执行上面示例代码,得到以下结果 -
Error: Kotlin: The character literal does not conform to the expected type Int
在这里,尝试将参数'a'
从函数调用传递给函数定义的第二个参数。 但编译器假定参数'a'
(Char类型)为第一个参数(Int
类型)传递,这会导致程序错误。
要解决上述问题,可使用命名参数。
命名参数是一个参数,在函数调用中定义参数的名称。 定义函数调用的参数名称,并检查匹配函数定义中的名称然后分配给它。
Kotlin命名为参数示例
fun main(args: Array<String>) { run(latter='a') } fun run(num:Int= 5, latter: Char ='x'){ print("parameter in function definition $num and $latter") }
执行上面示例代码,得到以下结果 -
parameter in function definition 5 and a
上一篇:Kotlin递归函数
下一篇:Kotlin Lambda函数
扫描二维码
程序员编程王