Kotlin,内部数据类型上的未解析引用 fun main(args:Array){ 变量a:int=12 变量b:double=1.23 println(“a:$a”) println(“b:$b”) }

Kotlin,内部数据类型上的未解析引用 fun main(args:Array){ 变量a:int=12 变量b:double=1.23 println(“a:$a”) println(“b:$b”) },kotlin,Kotlin,这将导致“未解析引用:int”和“未解析引用:float”。 有人能告诉我为什么吗?您不需要设置数据类型。 试试下面的代码 fun main(args: Array<String>) { var a: int = 12 var b: double = 1.23 println("a:$a") println("b:$b") } fun main(args:Array){ 变量a=12 var b=1.23 p

这将导致“未解析引用:int”和“未解析引用:float”。
有人能告诉我为什么吗?

您不需要设置数据类型。 试试下面的代码

fun main(args: Array<String>) {
    var a: int = 12
    var b: double = 1.23

    println("a:$a")
    println("b:$b")
}
fun main(args:Array){
变量a=12
var b=1.23
println(“a:$a”)
println(“b:$b”)
}

您不需要设置数据类型。 试试下面的代码

fun main(args: Array<String>) {
    var a: int = 12
    var b: double = 1.23

    println("a:$a")
    println("b:$b")
}
fun main(args:Array){
变量a=12
var b=1.23
println(“a:$a”)
println(“b:$b”)
}

我假设您来自Java背景,其中
int
double
是原始类型。在Kotlin中,这些类型分别使用大写版本:
Int
Double
。这样做的原因是Kotlin编译器将在编译时确定您是需要原始类型还是盒装类型(一个包装原始类型的对象,也允许为空)。要使代码正常工作,只需编写:

fun main(args: Array<String>) {
    var a = 12
    var b = 1.23

    println("a:$a")
    println("b:$b")
}
fun main(args:Array){
变量a:Int=12
变量b:Double=1.23
println(“a:$a”)
println(“b:$b”)
}

但是,正如PrafulD指出的,在这个特定场景中,在声明变量时不必指定类型,因为Kotlin将根据您提供的值推断类型。

我假设您来自Java背景,其中
int
double
是原始类型。在Kotlin中,这些类型分别使用大写版本:
Int
Double
。这样做的原因是Kotlin编译器将在编译时确定您是需要原始类型还是盒装类型(一个包装原始类型的对象,也允许为空)。要使代码正常工作,只需编写:

fun main(args: Array<String>) {
    var a = 12
    var b = 1.23

    println("a:$a")
    println("b:$b")
}
fun main(args:Array){
变量a:Int=12
变量b:Double=1.23
println(“a:$a”)
println(“b:$b”)
}

然而,正如PrafulD指出的,在这个特定场景中,在声明变量时不必指定类型,因为Kotlin将根据您提供的值推断类型。

使用大写字母I和D。在Kotlin中,所有原始数据类型都是通过它们的包装类定义的。我说不出话来。意识到自己的愚蠢几乎让我陷入涅盘。非常感谢。使用大写字母I和D。在Kotlin中,所有原始数据类型都是通过包装器类定义的。我说不出话来。意识到自己的愚蠢几乎让我陷入涅盘。非常感谢。在本例中,您是对的,但是我认为声明一个类型总是一个好方法,就像当您有
val a=getA()
在本例中您是对的,但是我认为声明一个类型总是一个好方法,就像当您有
val a=getA()