我正在尝试一些kotlin的基础知识 - >
计划:
fun createDate(day: Int, month: Int, year: Int, hour: Int = 0, minute: Int = 0, second: Int = 0) {
print("TEST", "$day-$month-$year $hour:$minute:$second")
}
createDate(1,7,1997)
错误:
error: none of the following functions can be called with the arguments supplied:
@InlineOnly public inline fun print(message: Any?): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Boolean): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Byte): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Char): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: CharArray): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Double): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Float): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Int): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Long): Unit defined in kotlin.io
@InlineOnly public inline fun print(message: Short): Unit defined in kotlin.io
print("TEST", "$day-$month-$year $hour:$minute:$second")
任何想法我做错了什么,我跟着这个 - > https://www.toptal.com/software/kotlin-android-language
它应该是这样的,因为kotlin默认打印功能只有一个参数
fun createDate(day: Int, month: Int, year: Int, hour: Int = 0, minute: Int = 0, second: Int = 0) {
print("$day-$month-$year $hour:$minute:$second")
}
因为kotlin默认打印功能是这样的
/** Prints the given message and newline to the standard output stream. */
public expect fun println(message: Any?)
/** Prints the given message to the standard output stream. */
public expect fun print(message: Any?)
所以你不能在打印功能中发送双参数。所以使用
print("$day-$month-$year $hour:$minute:$second")
代替
print("TEST", "$day-$month-$year $hour:$minute:$second")