Sobes.tech
Junior — Middle

Vysvetlite pojem globálnej premennej a jej vlastnosti v programe.

sobes.tech AI

Odpoveď od AI

Globálna premenná v Go je premenná deklarovaná mimo funkcií, zvyčajne v balíku, a dostupná v celom balíku alebo dokonca z iných balíkov, ak je exportovaná (s veľkým písmenom).

Charakteristiky globálnych premenných:

  • Sú inicializované pri spustení programu, pred vykonaním main.
  • Majú rozsah balíka, ak ich názov začína malým písmenom, alebo sú exportované, ak začínajú veľkým písmenom.
  • Používajú sa na ukladanie stavu dostupného z rôznych funkcií.
  • Môžu spôsobovať problémy s konkurenčným prístupom v viacvláknových programoch, preto často vyžadujú synchronizáciu (napríklad pomocou mutexu).

Príklad globálnej premennej:

package main

import "fmt"

var counter int = 0 // globálna premenná

func increment() {
    counter++
}

func main() {
    increment()
    fmt.Println(counter) // Vypíše 1
}

Použitie globálnych premenných by malo byť minimalizované, aby sa predišlo problémom s údržbou a testovaním kódu.