Junior — Middle
Heeft u de functie Once gebruikt in de programmeertaal Go en hoe hebt u deze in uw projecten gebruikt?
sobes.tech AI
Antwoord van AI
In de programmeertaal Go wordt de functie sync.Once gebruikt om te garanderen dat een bepaald stuk code precies één keer wordt uitgevoerd, zelfs als de oproep gelijktijdig uit meerdere goroutines komt. Dit is bijvoorbeeld handig voor het initialiseren van resources die maar één keer mogen worden aangemaakt.
Voorbeeld van gebruik:
var once sync.Once
func initialize() {
fmt.Println("Initialisatie voltooid")
}
func main() {
for i := 0; i < 5; i++ {
go func() {
once.Do(initialize) // initialize wordt maar één keer aangeroepen
}()
}
time.Sleep(time.Second) // Wachten tot de goroutines klaar zijn
}
In mijn projecten heb ik sync.Once gebruikt voor lazy initialisatie van configuraties of databaseverbindingen, om herhaalde initialisaties en racecondities te voorkomen.