Kotlin默认名称和命名参数

本文概述

  • Kotlin默认参数
  • 科特林命名论点
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")}

【Kotlin默认名称和命名参数】输出:
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:在函数调用中传递所有参数
fun main(args: Array< String> ) {run(3, 'a')}fun run(num:Int= 5, latter: Char ='x'){print("parameter in function definition $num and $latter")}

输出:
parameter in function definition 3 and a

由于所有参数都是在run()函数调用中传递的, 因此函数定义的参数将使用函数调用中传递的参数。
科特林命名论点在讨论命名参数之前, 让我们在上面的程序中进行一些修改。
例如:
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”从函数调用传递到第二个参数中的函数定义。但是编译器假定为第一个参数(Int类型)传递的参数“ a”(Char类型)会导致程序错误。
命名参数
为了解决上述问题, 使用了命名参数。
命名实参是在函数调用中定义实参名称的实参。为函数调用的参数定义的名称将检查函数定义中的名称并为其分配。
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

    推荐阅读