Sobes.tech
Назад к вопросам
Junior — Middle
87

Объясните понятие глобальной переменной и её особенности в программе.

Компании, где спрашивали
Flant

Ответ от нейросети

sobes.tech AI

Глобальная переменная в Go — это переменная, объявленная вне функций, обычно в пакете, и доступная во всем пакете или даже из других пакетов при экспорте (с заглавной буквы).

Особенности глобальных переменных:

  • Инициализируются при запуске программы до выполнения main.
  • Имеют область видимости пакета, если имя начинается с маленькой буквы, или экспортируются, если с большой.
  • Используются для хранения состояния, доступного из разных функций.
  • Могут создавать проблемы с конкурентным доступом в многопоточных программах, поэтому часто требуют синхронизации (например, с помощью mutex).

Пример глобальной переменной:

package main

import "fmt"

var counter int = 0 // глобальная переменная

func increment() {
    counter++
}

func main() {
    increment()
    fmt.Println(counter) // Выведет 1
}

Использование глобальных переменных следует минимизировать, чтобы избежать сложностей с поддержкой и тестированием кода.