Go的类型推断算法

时间:2012-09-25 18:48:56

标签: go type-inference

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

我尝试在golang上查找,但我找不到文档。我很想假设它会是Hindley-Milner,但我想肯定地知道

1 个答案:

答案 0 :(得分:21)

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