Какого размера можно сделать буфер

«Какого размера можно сделать буфер» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go размер буфера зависит от типа и использования. Для []byte или []T ограничение — это int (32/64 бита), но реальный лимит — доступная память.

Пример буфера с make:

buf := make([]byte, 1<<20) // 1MB буфер

Для bufio.Reader/Writer типичный размер — от 4KB до 32KB:

reader := bufio.NewReaderSize(file, 4096) // 4KB

Важно: слишком большой буфер может ухудшить производительность из-за кэш-промахов или фрагментации памяти.