Назад к вопросам
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
}
Использование глобальных переменных следует минимизировать, чтобы избежать сложностей с поддержкой и тестированием кода.