Как растёт cap при бесконечном append
В цикле идёт append по одному байту в слайс, размер которого сверху ничем не ограничен. Чтобы увидеть, как рантайм выделяет память, программа печатает каждое новое значение cap (до 4 KiB). Что она выведет — и чем закончился бы настоящий бесконечный цикл for { buf = append(buf, 1) }?
Сначала подумай без запуска — на собесе компилятора не будет.