Go Змінні. Оголошення змінних
Змінні є контейнерами для зберігання значень даних.
Go Типи змінних
Наприклад, у Go є різні типи змінних:
int- зберігає цілі (цілі числа), наприклад 123 або -123float32- зберігає числа з плаваючою комою (крапкою) з десятковими дробами, наприклад 19.99 або -19.99string- зберігає текст, наприклад "Hello World". Рядкові значення взяті в подвійні лапкиbool- зберігає значення з двома станами: true або false
Більше про різні типи змінних буде пояснено в розділі Типи даних Go.
Оголошення (створення) змінних
У Go є два способи оголосити змінну:
1. З ключовим словом var:
Використовуйте ключове слово var, а потім назву та тип змінної:
Синтаксис
var variablename type = value
Примітка: Завжди потрібно вказувати type (тип) або value (значення), або обидва.
2. Зі знаком :=:
Використовуйте знак :=, а потім значення змінної:
Синтаксис
variablename := value
Примітка: У цьому випадку тип змінної виводиться зі значення (це означає, що компілятор визначає тип змінної на основі значення).
Примітка. Неможливо оголосити змінну за допомогою := без призначення їй значення.
Оголошення змінної з початковим значенням
Якщо значення змінної відоме з самого початку, ви можете оголосити змінну та призначити їй значення в одному рядку:
Приклад
package main
import ("fmt")
func main() {
var student1 string = "John" //тип - рядок
var student2 = "Jane" //тип передбачається
x := 2 //тип передбачається
fmt.Println(student1)
fmt.Println(student2)
fmt.Println(x)
}
Спробуйте самі »
Примітка: Типи змінних student2 і x випливають із їхніх значень.
Оголошення змінної без початкового значення
У Go всі змінні ініціалізуються. Отже, якщо ви оголосите змінну без початкового значення, її значення буде встановлено на значення за замовчуванням для її типу:
Приклад
package main
import ("fmt")
func main() {
var a string
var b int
var c bool
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
Спробуйте самі »
Пояснення прикладу
У цьому прикладі є 3 змінні:
abc
Ці змінні оголошено, але їм не присвоєно початкові значення.
Запустивши код, ми можемо побачити, що вони вже мають стандартні значення відповідних типів:
aє""bє0cєfalse
Присвоєння значення після оголошення
Можна присвоїти значення змінній після її оголошення. Це корисно у випадках, коли значення спочатку невідоме.
Приклад
package main
import ("fmt")
func main() {
var student1 string
student1 = "John"
fmt.Println(student1)
}
Спробуйте самі »
Примітка: Неможливо оголосити змінну за допомогою ":=" без призначення їй значення.
Різниця між var та :=
Є деякі невеликі відмінності між var та :=:
| var | := |
|---|---|
| Можна використовувати всередині та поза функціями | Можна використовувати лише всередині функцій |
| Оголошення змінної та призначення значення можна виконувати окремо | Оголошення змінної та призначення значення неможливо виконати окремо (має бути зроблено в одному рядку) |
Приклад
У цьому прикладі показано оголошення змінних поза функцією за допомогою ключового слова var:
package main
import ("fmt")
var a int
var b int = 2
var c = 3
func main() {
a = 1
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
Спробуйте самі »
Приклад
Оскільки := використовується поза функцією, запуск програми призводить до помилки.
package main
import ("fmt")
a := 1
func main() {
fmt.Println(a)
}
Результат:
./prog.go:5:1: syntax error: non-declaration statement outside function body

