Junior — Middle
Môžu nastať chyby alebo problémy, ak pri deklarácii kanála použijete kľúčové slovo var?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa kľúčovým slovom var sa deklarujú premenné, vrátane kanálov. Problémy môžu nastať nie kvôli samotnému var, ale kvôli nesprávnemu použití alebo nesprávnej inicializácii kanála. Napríklad, ak deklarujete kanál pomocou var ch chan int, ale nenastavíte ho pomocou make, pokus o odoslanie alebo prijatie dát z takéhoto kanála povedie k zablokovaniu alebo panike, pretože kanál bude nil.
Príklad:
var ch chan int // kanál deklarovaný, ale nenastavený
func main() {
// ch <- 1 // toto spôsobí zablokovanie, pretože kanál je nil
ch = make(chan int) // inicializácia kanála
ch <- 1 // teraz funguje správne
}
Preto použitie var samo o sebe nespôsobuje chyby, ale je dôležité pamätať na inicializáciu kanálov pomocou make pred ich použitím.