8

Go 编译器使用什么类型推断算法?

我尝试在 golang 上查找此内容,但找不到文档。我很想假设它是 Hindley-Milner,但我想确定

4

1 回答 1

21

Go 当然不使用 Hindley-Milner。你为什么那么想?事实上,Go 一般没有类型推断,只有:=构造,它使用极其简单的规则,即获取右侧的评估类型并将其应用于左侧新声明的变量。它实际上非常类似于 C++11 的auto关键字(除了没有处理const和引用的规则)。

于 2012-09-25T19:05:05.087 回答