Go 多重零,零。。。围棋中的探测
在go中,您可以获得多种回报,如:Go 多重零,零。。。围棋中的探测,go,null,Go,Null,在go中,您可以获得多种回报,如: func getAdressParts() (plz *string, street *string) { return nil, nil } func main() { //if getAdressParts() == nil, nill { // println(true) //} else { // println(false) //} // As already suggested
func getAdressParts() (plz *string, street *string) {
return nil, nil
}
func main() {
//if getAdressParts() == nil, nill {
// println(true)
//} else {
// println(false)
//}
// As already suggested the answer is:
if plz, street := getAdressParts(); plz == nil && street == nil {
println("Hurra")
} else {
println("nope")
}
}
是否有任何方法可以检查两个内联的nil,如:
if getAdressParts() == nil, nil {
...
}
您可以在这里使用示例:不太简洁,但可以:
if plz, street := getAdressParts(); plz == nil && street == nil {
// Do stuff
}
这在和中得到了演示
请注意,正如icza指出的,这对
字符串s(不能是nil
)没有任何意义,但用于有效测试的语法如上所述。字符串不能是nil,但我认为您需要这样做
if a, b := getAdressParts(); a == "" && b == "" {
println("nil")
}
nil
不是string
类型的有效值,因此即使是像plz==nil
这样的检查也是编译时错误。是的,很抱歉我的帖子太快了,错过了,同时问题也被更新了耶,但我从这个问题中得到的印象是,这是关于内联nil
检查的语法,而不是字面上的检查字符串是否为nil
。更新的答案,添加便条以防万一。是的,对不起,我正要更新问题,你太快了:)但是答案很好!那a+b==“”
呢?是不是比你的更贵?在a或b不是空的情况下,这似乎更贵,因为它需要一个分配和两个cope。