Когда использовать make?

Junior
390 просмотров
AFK Offer AI

make нужен для трёх типов: slice, map, channel. Только make умеет их правильно инициализировать. make([]int, 0, 100) — слайс с capacity 100. make(map[string]int) — пустая готовая к записи мапа. make(chan int, 10) — buffered channel. Без make: var m map[string]int — nil map, запись в неё паникует. var ch chan int — nil channel, блокируется навсегда. Поэтому для map и channel make обязателен перед использованием. Для slice допустим var s []int если потом append.

Следующий вопрос

Как работает scheduler preemption в Go?