Основы Go
Теория: Переменные
В Go переменные объявляются с помощью ключевого слова var:
Переменной name задаётся имя и тип (string). Позже в неё можно присвоить значение. Объявление и присваивание можно объединить:
После этого переменной можно присвоить другое значение того же типа:
Go — строго типизированный язык, поэтому тип переменной фиксирован: если name объявлена как строка, в неё нельзя записать число или логическое значение.
Значения по умолчанию
Если переменную объявить без инициализации, она получит значение по умолчанию. Для строк это пустая строка, для чисел — ноль, для булевых значений — false.
Вывод типа
Если при объявлении переменной сразу указать значение, тип можно не писать — компилятор выведет его сам на основе переданного значения. Это упрощает запись, особенно когда тип очевиден:
При этом тип сохраняется за переменной, как если бы он был написан явно. В дальнейшем переменной можно присваивать только значения этого типа. Попытка записать значение другого типа приведёт к ошибке компиляции. Например, если name была строкой, то присваивать ей число нельзя.
Вывод типа работает только при одновременном объявлении и инициализации. Если вы просто пишете var city, без значения, то компилятор не сможет вывести тип и выдаст ошибку. В таких случаях тип нужно указывать явно:
Краткая форма объявления
Внутри функций можно использовать сокращённую форму объявления переменной с помощью оператора :=:
Эта форма позволяет одновременно создать переменную и присвоить ей значение. Тип по-прежнему выводится автоматически. Такой синтаксис упрощает запись и активно используется в Go-коде. Важно помнить, что := работает только внутри функций. Вне функции можно использовать только var.
С помощью := можно объявлять несколько переменных сразу:
При этом типы обеих переменных будут выведены по значениям. Такой способ часто используется при обработке нескольких значений, например при возврате значений из функции.
Особенности
- Все переменные должны использоваться — иначе ошибка компиляции.
- Имя переменной нельзя использовать до её объявления.
