Junior — Middle
Обяснете понятието за глобална променлива и нейните особености в програма.
sobes.tech AI
Отговор от AI
Глобална променлива в Go е променлива, обявена извън функции, обикновено в пакет, и достъпна във всички части на пакета или дори от други пакети, ако е експортирана (с главна буква).
Характеристики на глобалните променливи:
- Инициализират се при стартиране на програмата, преди изпълнението на main.
- Имат обхват на пакета, ако името започва с малка буква, или се експортират, ако започва с голяма.
- Използват се за съхраняване на състояние, достъпно от различни функции.
- Могат да причинят проблеми с конкурентен достъп в многонишкови програми, затова често изискват синхронизация (например с mutex).
Пример за глобална променлива:
package main
import "fmt"
var counter int = 0 // глобална променлива
func increment() {
counter++
}
func main() {
increment()
fmt.Println(counter) // Ще изведе 1
}
Трябва да се минимизира използването на глобални променливи, за да се избегнат проблеми с поддръжката и тестването на кода.