命名参数
函数参数可以在调用时被命名。这在函数有很多参数或很多默认值时很方便。
fun reformat(str: String,
normalizeCase: Boolean = true,
upperCaseFirstLetter: Boolean = true,
divideByCamelHumps: Boolean = false,
wordSeparator: Char = ' ') {}
我们可以使用默认参数调用这个方法。
reformat(str)
如果不使用默认值时,按照如下方式调用。
reformat(str, true, true, false, '_')
使用命名参数可以将代码更可读。
reformat(str,
normalizeCase = true,
upperCaseFirstLetter = true,
divideByCamelHumps = false,
wordSeparator = '_'
)
如果我们并不是需要所有的参数。
reformat(str, wordSeparator = '_')
需要注意的是命名参数语法不能在调用Java方法中使用,因为Java字节码不是总是保存函数参数名的。