Go Web サーバーの例: http://golang.org/doc/effective_go.html#web_server
次のコード行が機能します
var addr = flag.String("addr", ":1718", "http service address")
しかし、それを
addr := flag.String("addr", ":1718", "http service address")
コンパイルエラーです。なんで?*string
関数の戻り値の型がではなく であるという顔と何か関係がありstring
ますか? それはどのような違いをもたらしますか?
更新:=
:トップレベルでは許可されていないことを指摘していただきありがとうございます。この矛盾が仕様にある理由は何ですか? ブロック内で動作が異なる理由はわかりません。