Каналы в Go (Golang) за 5 минут: nil, close, select и буферизованный канал

12+
12+

день назад

ПожаловатьсяНарушение авторских прав
12+
12+

день назад

ПожаловатьсяНарушение авторских прав
12+
12+

день назад

Что внутри канала в Go и почему nil-канал, закрытый канал и чтение из закрытого канала ведут себя так по-разному. Разбираем буферизованные и небуферизованные каналы, select и главное правило: кто закрывает канал. Таймкоды: 0:00 Три строчки — три разных результата 0:38 Канал без буфера и с буфером 2:00 Что внутри канала: hchan 3:19 Как работает select 4:12 nil-канал: вечная блокировка и утечка 5:11 Закрытый канал: panic, нули и v, ok 6:08 Кто закрывает канал 7:14 На собеседовании спросят 8:38 Итоги Код из ролика: ch := make(chan int) — канал без буфера ch := make(chan int, 3) — буфер на 3 места close(ch) — закрывает только отправитель, ровно один раз for v := range ch { ... } — читает до закрытия канала #golang #go #программирование Поддержать канал: https://dalink.to/sergey6852

Название:

Каналы в Go (Golang) за 5 минут: nil, close, select и буферизованный канал

Категория:

Разное