В С++ я могу инициализировать массив с некоторым значением, используя memset:
const int MAX = 1000000;
int is_prime[MAX]
memset(is_prime, 1, sizeof(is_prime))
Что делает memset, грубо можно описать как заполнение массива некоторым значением, но это действительно очень быстро.
В go я могу сделать is_prime := make([]int, 1000000)
, но это создаст срез со всеми 0, аналогичным образом я могу использовать new([1000000]int)
, но ничто не позволит мне создать массив/срез со всеми 1 или любым другим ненулевой элемент.
Конечно, я могу использовать цикл, чтобы заполнить его значением позже, но главная цель memset
заключается в том, что он намного быстрее, чем цикл.
Итак, программисты Go имеют аналог memset
(быстрый способ инициализации массива для некоторого ненулевого значения)?