Sobes.tech
Junior

Šta radi konstrukcija default u naredbi select?

sobes.tech АИ

Одговор од АИ

Konstrukcija default u select naredbi izvršava blok koda ako nijedan od ostalih kanala navedenih u select trenutno nije spreman za čitanje ili pisanje. Ovo sprečava blokiranje gorutine.

Primer:

// Primer sa default
select {
case msg1 := <-channel1:
	fmt.Println("Primljena poruka 1:", msg1)
case msg2 := <-channel2:
	fmt.Println("Primljena poruka 2:", msg2)
default:
	fmt.Println("Kanali nisu spremni, izvršen default")
}

Korišćenje default čini operaciju select neblokirajućom. Ako default nedostaje, select će čekati dok jedan od kanala ne bude spreman.