Sobes.tech
Junior — Middle

Aké správanie sa očakáva pri volaní prázdneho operátora select v jazyku Go?

sobes.tech AI

Odpoveď od AI

V jazyku Go sa operátor select používa na prácu s viacerými kanálmi súčasne. Ak zavoláte prázdny select (t.j. bez akéhokoľvek case), vykonávanie bude navždy zablokované, pretože neexistuje žiadny kanál na čítanie alebo zápis a neexistuje default-prípad.

Príklad:

select {
    // prázdny select
}

Tento kód spôsobí zablokovanie gorutiny, pretože select čaká na aspoň jeden dostupný kanál alebo default na pokračovanie.