Короткое объявление переменной :=
Короткое объявление переменной := в Go используется для объявления
и инициализации переменной в одной строке. В левой части оператора
указывается имя переменной, а в правой — значение, которое автоматически
определяет тип переменной. Это сокращенная форма записи, которая
заменяет объявление через var с явным указанием типа.
Оператор := доступен только внутри функций и не может
использоваться на уровне пакета.
Синтаксис
переменная := значение
Пример
Давайте объявим переменную name со значением "John"
и переменную age со значением 30:
package main
import "fmt"
func main() {
name := "John"
age := 30
fmt.Println(name)
fmt.Println(age)
}
Результат выполнения кода:
"John"
30
Пример
Короткое объявление позволяет инициализировать несколько переменных
одновременно. Давайте объявим переменные firstName и
lastName в одной строке:
package main
import "fmt"
func main() {
firstName, lastName := "John", "Doe"
fmt.Println(firstName)
fmt.Println(lastName)
}
Результат выполнения кода:
"John"
"Doe"
Пример
Короткое объявление также работает с функциями, возвращающими
несколько значений. Давайте объявим переменные sum и
diff на основе результатов работы функции:
package main
import "fmt"
func calculate(a, b int) (int, int) {
return a + b, a - b
}
func main() {
sum, diff := calculate(10, 3)
fmt.Println(sum)
fmt.Println(diff)
}
Результат выполнения кода:
13
7
Пример
Важно помнить, что оператор := нельзя использовать, если
переменная уже объявлена в той же области видимости. В таком
случае нужно использовать обычное присваивание =.
Давайте посмотрим на пример:
package main
import "fmt"
func main() {
x := 10
fmt.Println(x)
x = 20
fmt.Println(x)
// y := 30 // так можно
// x := 40 // так нельзя - переменная x уже объявлена
}
Результат выполнения кода:
10
20