Sobes.tech
Junior

Mida teeb default-konstruktsioon valiku käsus?

sobes.tech AI

Vastus AI-lt

select käsu konstruktsioonis täidab default-lõik koodiploki, kui ükski teistest select-s loetletud kanalitest ei ole hetkel valmis lugemiseks või kirjutamiseks. See takistab gorutine'i blokeerimist.

Näide:

// Näide default-iga
select {
case msg1 := <-channel1:
	fmt.Println("Saadud sõnum 1:", msg1)
case msg2 := <-channel2:
	fmt.Println("Saadud sõnum 2:", msg2)
default:
	fmt.Println("Kanalid ei ole valmis, täidetud on default")
}

default kasutamine muudab select-i toimingu mitte-blokeerivaks. Kui default puudub, ootab select, kuni üks kanalitest saab valmis.