Sobes.tech
Junior — Middle

Co se stane v programu, pokud se pokusíte číst z uzavřeného kanálu v Go?

sobes.tech AI

Odpověď od AI

Pokuste se přečíst z uzavřeného kanálu v Go, operace čtení vrátí nulovou hodnotu typu kanálu a false ve druhé vrácené hodnotě, pokud se používá syntaxe se dvěma návratovými hodnotami:

v, ok := <-ch

Zde bude ok false, což znamená, že kanál je uzavřen a již nepřijímá data.

Pokud čtete z uzavřeného kanálu bez kontroly ok, obdržíte nulovou hodnotu typu kanálu (například 0 pro int).

Důležité: čtení z uzavřeného kanálu nezablokuje a nezpůsobí paniku, vrací ihned nulovou hodnotu a false.