НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Golang. Уроки для початківців

En

Go Змінні. Оголошення змінних


Змінні є контейнерами для зберігання значень даних.


Go Типи змінних

Наприклад, у Go є різні типи змінних:

  • int- зберігає цілі (цілі числа), наприклад 123 або -123
  • float32- зберігає числа з плаваючою комою (крапкою) з десятковими дробами, наприклад 19.99 або -19.99
  • string - зберігає текст, наприклад "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
Спробуйте самі »

Go Вправи

Перевірте себе за допомогою вправ

Вправа:

Створіть змінну з назвою myNum і призначте їй значення 50.

package main
import ("fmt") 
func main() { var = fmt.Println() }