无法在Kotlin中打印多个布尔值

Ash*_*coN 2 variables types kotlin

我从科特林语言开始

fun main (args:Array<String>){


    var flag1:Boolean= true //Explicit declaration
    var flag2: =false //Implicit declaration

     println(flag2 + "and " + flag1)

     println(flag1)
     println(flag2)
Run Code Online (Sandbox Code Playgroud)

}

在上面的代码中,我已经声明了2种类型的布尔显式隐式声明

对于上面的代码,我会说期望以下输出:-

false and true 

true

false
Run Code Online (Sandbox Code Playgroud)

但我正在追随错误:- IDE给出的错误

谁能解释我哪里出错了?

Mar*_*cic 6

对于编译器错误,更改此:

println(flag2 + "and " + flag1)
Run Code Online (Sandbox Code Playgroud)

对此:

println("$flag2 and $flag1")
Run Code Online (Sandbox Code Playgroud)

Kotlin是强类型语言,您不能在String和Boolean类型上使用plus运算符。

但是您可以使用字符串插值,在字符串文字中使用$运算符。

您还可以通过添加以下代码使它使用布尔类型的重载plus运算符进行编译:

operator fun Boolean.plus(s: String): String {
    return this.toString() + s
}
Run Code Online (Sandbox Code Playgroud)