Ответ
Стек горутины в Go начинается с небольшого размера (обычно 2 КБ) и динамически растёт или уменьшается по мере необходимости.
package main
import (
"runtime"
"
)
func main() {
var startStackSize int
go func() {
startStackSize = runtime.Stack(nil, false)
}()
runtime.Gosched() // Даём горутине выполниться
println(startStackSize) // Примерный начальный размер стека
}
Точный начальный размер зависит от версии Go и архитектуры. В современных версиях (1.20+) стек обычно начинается с 2 КБ, но это деталь реализации и может меняться. При нехватке места стек автоматически увеличивается.