D
func GetMuz(f *Foo) *Muz {
if f != nil && f.Bar != nil && f.Bar.Baz != nil {
return f.Bar.Baz.Muz
}
return nil
}
нечто похожее на
func GetMuz(f *Foo) *Muz {
return ? f.Bar.Baz.Muz
}
func HasMuz(f *Foo) {
if v, ok := ? f.Bar.Baz.Muz; ok && v != nil {
fmt.Println("has muz")
return
}
fmt.Println("no muz")
}
типа оператор, выражение которого равно zero-value в случае если выражение доступа к полю повалилось бы в segfault.
