语言官方就做了上述回答。在上面的回答中,其中有这样一句话:

Experience with other languages told us that having a variety of methods with the same name but different signatures was occasionally useful but that it could also be confusing and fragile in practice。

文中说:其他语言的经验告诉我们,有各种同名但签名不同的方法有时是有用的,但在实践中也可能令人困惑和脆弱。

另外,Go官方接着说:**在Go的类型系统中,仅通过名称匹配并要求类型的一致性是一个主要的简化决策。**官方博客最后还说:关于运算符重载,似乎也是更方便。但是同样的,没有重载事情会更简单。

通过简短的几句话,我们大概可以看出来。Go语言的设计者之所以没有在Go中实现重载,其实并没有多么高深的理由,就是最核心的一个原则:让Go保持足够的简单。

别小看这个简单的描述,在我看来,坚持让Go足够简单,需要Go的设计者保持极大的克制。