美好的一天,
请看一下这个简单的功能。
fun multiplyByTwo(x: Int): String { // [1]
println("Inside multiplyByTwo") // [2]
var result = x * 2
result = result.toString()
return result
}
问题是,虽然结果转换为字符串并且我已将输出声明为字符串,但我仍然遇到类型不匹配的情况。
当我使用时
var result = (x*2).toString()
而不是
var result = x * 2
result = result.toString()
它确实有效,但感觉就像是奇怪的 java/kotlin 引擎盖下的 bs,尽管看起来完全相同。
请记住 Kotlin 是一种强类型语言。解释非常简单:在第一种情况下,我们将
result
初始化为 Int
,因此它被键入为 Int
,并且我们无法在其中存储 String
。在第二种情况下,我们将其初始化为 String
,因此它的类型为 String
。