Ważny kontekst odpowiedzi:
:=
jest operatorem skrótu do inicjalizacji zmiennej. W Go następujące operacje są równoważne:
var myNumb String = "one"
myNumb := "one"
Odpowiedź:
Domniemane pytanie brzmi teraz: „Dlaczego zaprojektowano notację skróconą, :=
aby mieć :
przed sobą a =
?”. Powodem jest zapobieganie powszechnym literówkom. Gdyby operator przypisania skróconego miał postać just =
, mogłaby wystąpić następująca sytuacja:
var myNumb String = "one"
myNumb = "two"
Czy użytkownik, który utworzył ten kod, zamierzał przypisać two
go ponownie myNumb
, czy też pomylił się, myNumb
zamiast poprawnie pisać myNumbTwo
? Włączając dwukropek :=
, programista musiałby popełnić dwa błędy (zapomnieć o dwukropku i zapomnieć o var
), aby mieć błąd, a tym samym drastycznie zmniejszyć prawdopodobieństwo zrobienia tego .