Sobes.tech
Junior

Mit csinál az alapértelmezett konstrukció a select utasításban?

sobes.tech MI

Válasz az MI-től

A default szerkezet a select utasításban egy kódrészletet hajt végre, ha a select-ben felsorolt más csatornák jelenleg nem készültek olvasásra vagy írásra. Ez megakadályozza a goroutine blokkolását.

Példa:

// Példa default-tal
select {
case msg1 := <-channel1:
	fmt.Println("Üzenet érkezett 1:", msg1)
case msg2 := <-channel2:
	fmt.Println("Üzenet érkezett 2:", msg2)
default:
	fmt.Println("A csatornák nem készültek el, default futott")
}

A default használata nem blokkolóvá teszi a select műveletet. Ha hiányzik a default, a select várni fog, amíg valamelyik csatorna kész lesz.