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.