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 змінні:
a
b
c
Ці змінні оголошено, але їм не присвоєно початкові значення.
Запустивши код, ми можемо побачити, що вони вже мають стандартні значення відповідних типів:
a
є""
b
є0
c
є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