In go you can have several returns like:
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")
}
}
is there any way to check both inline for nil like:
if getAdressParts() == nil, nil {
...
}
you can play with example here: https://play.golang.org/p/xbHCxl_AJyw
Not quite that succinctly, but yes:
if plz, street := getAdressParts(); plz == nil && street == nil {
// Do stuff
}
This is demonstrated in the Go tour and the Go spec.
Note as icza points out, this doesn't make any sense for string
s (which can't be nil
), but the syntax you'd use for a valid test is as above.
string can't be nil, but i think you'll need to do
if a, b := getAdressParts(); a == "" && b == "" {
println("nil")
}