8

Go コンパイラはどの型推論アルゴリズムを使用しますか?

これをgolangで調べてみましたが、ドキュメントが見つかりません。Hindley-Milner ではないかと思いがちですが、確実に知りたいです。

4

1 に答える 1

21

Goは確かにHindley-Milnerを使用していません。どうしてそんなことを考えるのか?実際、Goには一般に型推論がなく、構成のみ:=が使用されます。これは、右側の評価された型を取得し、それを左側の新しく宣言された変数に適用するという非常に単純なルールを使用します。auto実際には、C ++ 11のキーワードにかなり似ています(処理constと参照に関する規則がない場合を除く)。

于 2012-09-25T19:05:05.087 に答える