本文已使用 Google Cloud Translation API 自动翻译。
某些文档最好以原文阅读。
Kotlin 对默认参数和命名参数的支持使得为函数参数提供合理的默认值以及仅指定与默认值不同的参数变得容易。
考虑一个用日期和时间格式化字符串的函数:
fun formatDateTime(
date: String,
time: String,
dateFormat: String = "yyyy-MM-dd",
timeFormat: String = "HH:mm:ss"
): String {
return "$date $time"
}
这个函数有四个参数,其中两个有默认值。调用函数时,我们可以为前两个参数提供值,后两个参数将使用默认值:
formatDateTime("2019-01-01", "12:00:00") // "2019-01-01 12:00:00"
我们还可以为所有四个参数提供值:
formatDateTime(
date = "2019-01-01",
time = "12:00:00",
dateFormat = "dd/MM/yy",
timeFormat = "hh:mm a"
) // "01/01/19 12:00 PM"
当调用带有多个参数的函数时,参数的顺序很重要。这会使代码难以阅读,尤其是当某些参数具有默认值时。
Kotlin 对命名参数的支持让我们可以指定参数名称和值,这使代码更易于阅读:
fun formatDateTime(
date: String,
time: String,
dateFormat: String = "yyyy-MM-dd",
timeFormat: String = "HH:mm:ss"
): String {
return "$date $time"
}
formatDateTime(
time = "12:00:00",
date = "2019-01-01",
timeFormat = "hh:mm a",
dateFormat = "dd/MM/yy"
) // "01/01/19 12:00 PM"
在上面的示例中,我们指定了参数名称和值。这使代码更易于阅读,尤其是当某些参数具有默认值时。
当调用带有多个参数的函数时,我们可以只指定与默认值不同的参数。例如,考虑以下函数:
fun formatDateTime(
date: String,
time: String,
dateFormat: String = "yyyy-MM-dd",
timeFormat: String = "HH:mm:ss"
): String {
return "$date $time"
}
这个函数有四个参数,其中两个有默认值。我们可以用两个参数调用这个函数,默认值将用于其余参数:
formatDateTime("2019-01-01", "12:00:00") // "2019-01-01 12:00:00"
我们还可以仅指定与默认值不同的参数:
formatDateTime(
date = "2019-01-01",
time = "12:00:00",
timeFormat = "hh:mm a"
) // "2019-01-01 12:00:00"
在上面的示例中,我们为“date”和“time”参数指定了值,默认值将用于“dateFormat”参数。
Kotlin 对默认参数和命名参数的支持使得为函数参数提供合理的默认值以及仅指定与默认值不同的参数变得容易。这可以使代码更易于阅读和理解。