Важный контекст для ответа:
:=
- сокращенный оператор для инициализации переменной. В Go следующие операции эквивалентны:
var myNumb String = "one"
myNumb := "one"
Ответ:
Подразумевается вопрос: «Почему мы разработали сокращенную запись так, :=
чтобы она была :
перед =
?». Причина в том, чтобы предотвратить распространенные опечатки. Если бы сокращенный оператор присваивания был справедливым =
, у вас могла бы быть следующая ситуация:
var myNumb String = "one"
myNumb = "two"
Собирался ли пользователь, создавший этот код, переназначить two
его myNumb
, или он набрал опечатку myNumb
вместо того, чтобы правильно набрать myNumbTwo
? Включив двоеточие :=
, программист должен был бы совершить две ошибки (забыть двоеточие и забыть var
), чтобы получить ошибку, что резко снизит вероятность этого .