What do you expect as output of following code? package main
import "fmt" type MyInterface interface { GetName() string } type MyInterfaceImpl struct { Name string } func (i *MyInterfaceImpl) GetName() string { return i.Name } func getNilMyInterface() MyInterface { return nil } func getNilMyInterfaceImpl() *MyInterfaceImpl { return nil } func main() { v := getNilMyInterface() if v == nil { if v = getNilMyInterfaceImpl(); v == nil { fmt.Println("Ok. This code is correct!") } else { fmt.Println("Opsss... It's not nil") fmt.Println(v.GetName()) } } } Check yourself https://play.golang.org/p/PDbyjP7QcS -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.