Переменные

Объявление переменных в Go осуществляется при помощи ключевого слова var и имеет следующий общий вид:

var имя тип = выражение

Для именования переменных в Go также принято использовать CamelCase для экспортируемых переменны и lowerCamelCase для неэкспортируемых переменных.

Например, переменную целого типа можно определить так:

// объявление переменной age целого типа с начальным значением 33
var age int = 33

Объявление нескольких переменных можно так же группировать, как и импорты пакетов:

var (
  name string = "John"
  age int = 33
)

Если опустить выражение, то переменная инициализируется со значением по умолчанию. Значение по умолчанию для типа int – это 0. Мы еще вернемся к этому, когда будем рассматривать подробно разные типы данных.

// объявление переменной counter целого типа с начальным значением 0
var counter int

// эта запись эквивалентна записи выше
var counter int = 0

Таким образом в Go не нужно заботиться об инициализации начальных значений у переменных, переменная всегда будет содержать значение по умолчанию соответствующего типа.

Также при объявлении можно опустить тип переменной, но это возможно не для всех типов. В этом случае обязательно нужно указать начальное значение, чтобы компилятор автоматически вывел соответствующий тип в зависимости от выражения.

// объявление переменной name с начальным значением "John"
// компилятор сам поймет, что эта переменная является строкой
var name = "John"

// эта запись эквивалентна записи выше
var name string = "John"

В Go можно объявить сразу несколько переменных через запятую и сразу же проинициализировать их.

// объявление нескольких переменных
var name, age = "John", 33

Так же можно присвоить значения после объявления.

var name string
var age int

// присваивание в существующие переменные
name, age = "John", 33

Объявление переменных при помощи ключевого слова var можно делать как на уровне пакета, так и на уровне функции, например:

package main

import "fmt"

var name = "John"

func main() {
  var age = 33
  fmt.Println(name, age)
}

В Go существует еще один способ объявления переменных, так называемая краткая запись.

  // короткое объявление переменных
  counter := 0
  name, age := "John", 33

Данный способ работает только на уровне функции и позволяет создать только новые переменные. Если попробовать присвоить значение к уже существующей переменной внутри данного блока кода, то компилятор выведет сообщение об ошибке.

Краткое объявление переменных часто используется, когда нужно вернуть какое-то значение из функции и явное определение переменной не требуется. В будущем вы еще увидите это на практике.

Задание

Объявите две переменные firstName и lastName. Переменная firstName должна содержать строку “John”, переменная lastName – “Smith”. Выведите эти переменные на экран, чтобы получилась строка “John Smith”.


Советы


Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном cообществе
Упражнение доступно только авторизованным пользователям.

Пожалуйста, авторизуйтесь, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт.