var vs: = in Go
Im Beispiel für den Go-Webserver hier:http://golang.org/doc/effective_go.html#web_server
Die folgende Codezeile funktioniert
var addr = flag.String("addr", ":1718", "http service address")
aber es zu ändern
addr := flag.String("addr", ":1718", "http service address")
ist ein Kompilierungsfehler. Warum? Hat es irgendetwas mit der Fläche zu tun, die der Rückgabetyp der Funktion ist?*string
Anstatt vonstring
? Welchen Unterschied macht das?
AKTUALISIEREN: Danke für den Hinweis:=
ist auf der obersten Ebene nicht erlaubt. Irgendeine Idee, warum diese Inkonsistenz in der Spezifikation ist? Ich sehe keinen Grund dafür, dass das Verhalten innerhalb eines Blocks anders ist.