在Go中您可以有几个返回:
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")
}
}
是否有任何方法可以检查两个内联零:
if getAdressParts() == nil, nil {
...
}
您可以在此处玩示例:https://play.golang.org/p/xbhcxl_ajyw
字符串不能为零,但我认为您需要做
if a, b := getAdressParts(); a == "" && b == "" {
println("nil")
}
不是很简洁,但是是:
if plz, street := getAdressParts(); plz == nil && street == nil {
// Do stuff
}
这在Go Tour和Go Spec。
中证明了这一点注意ICZA指出的是,这对string
S(不能是nil
(没有任何意义,但是您用于有效测试的语法如上所述。