package main import ( "fmt" ) type hoge interface { doHoge() } type hogeStr string func (hs hogeStr) doHoge() { } func main() { var hs *hogeStr = nil fmt.Printf("hs:%s, isNil:%s\n", hs, hs == nil) var hg hoge = nil fmt.Printf("hg:%s, isNil:%s\n", hg, hg == nil) hg = hs fmt.Printf("hg:%s, isNil:%s\n", hg, hg == nil) } ↓結果 hs:%!s(*main.hogeStr=<nil>), isNil:%!s(bool=true) hg:%!s(<nil>), isNil:%!s(bo