Kotlin是一门新语音,综合了很多老牌语言的有点,默认参数的用法借鉴了C++的用法
函数参数中直接给出默认值,调用方就可以不传此值,使用默认值
fun main() {
action1("李四", 20)
action2("王五")
action2("王五", 23)
action3()
}
private fun action1(name: String, age: Int) {
}
private fun action2(name: String, age: Int = 12) {
}
private fun action3(name: String = "痦子六", age: Int = 30) {
}
有默认值的参数在后面时,参数会按顺序赋值,如果不在后面,不能按顺序赋值,就需要用到具名函数
// name/gander不加默认值会出问题,即使在函数中已经有默认值了,因为是按顺序赋值的
action3("王五","woman",78)
private fun action3(name: String = "痦子六", gander: String = "man", age: Int) {
}
此时就要使用具名函数了,可以直接给任何一个参数赋值,这样也可以有效避免参数名很像,老眼昏花带来的错误
// 这样就可以单独给age赋值了,其他使用默认值
action3(age = 78)