Sobes.tech
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
}

Трябва да се минимизира използването на глобални променливи, за да се избегнат проблеми с поддръжката и тестването на кода.