看看下面的代码。

Go 是隐式实现 interface 的,所以 TestStruct 是 EmptyInterface。

由于 *TestStruct 有一个 Func 函数,所以它还是 WithFuncInterface。


好了,看下面的几个函数:判断参数是不是 nil。


接下来看看 main 函数。


你一定觉得我在逗你,这显然会 print 3 个 true 并且产生一个 NullPointer 之类的错。

然而事实是:

Haha!


这就是 Go,不爽不要玩。





我觉得很多人可能没理解我想表达什么,完美符合我对 Go 社区的印象:

  • 它实现如此,故而其为真理
  • 它是为真理,故而其为优雅