Dari waktu ke waktu, pendatang baru di Go menemukan properti bahasa menarik yang terkait dengan ukuran tumpukan yang tersedia untuk goroutine. Ini biasanya terjadi karena programmer secara tidak sengaja membuat rekursi tak terbatas. Untuk mengilustrasikan hal ini, perhatikan contoh berikut (sedikit dibuat-buat).
package main import "fmt" type S struct { a, b int } // String implements the fmt.Stringer interface func (s *S) String() string { return fmt.Sprintf("%s", s) // Sprintf will call s.String() } func main() { s := &S{a: 1, b: 2} fmt.Println(s) }
, , , . , , Go?
โ ; ( 1โ8 POSIX), . 4096 ( Go 2048 โ . ), - .
, (5l, 6l, 8l) "" [1], , . , , , runtime morestack, [2], (caller), , . , , , .
Go , , , .
, , , Go , .
, , . , .
, Go, , , , , , , .
Go 1.1 32-, 64- , , .. , 128 [3] .
. : (2013 ) Go , 1 GB 64 250 MB 32.
- , , , .
- ยซยป , 4096 , runtimeโ morestack , , .
- 64- Windows 32 - Go 1.1.