его изменений.
                  
                  
                  const size = 1024
                  
                  
                  
                  
                  
                  func stackCopy(s *string, c int, a [size]int) {
                  
                  
                   println(c, s, *s)
                  
                  
                  
                  
                  
                   c++
                  
                  
                   if c == 10 {
                  
                  
                    return
                  
                  
                   }
                  
                  
                  
                  
                  
                   stackCopy(s, c, a)
                  
                  
                  }
                  
                  
                  
                  
                  
                  func main() {
                  
                  
                   s := "HELLO"
                  
                  
                   stackCopy(&s, 0, [size]int{})
                  
                  
                  }
                  
                  
                  Этот код заставляет несколько раз изменить адреса в фрейме main. Как я понимаю, каждый новый фрейм просто должен содержать в себе адрес на переменную в фрейме main. Почему фрейму main приходиться менять адреса?
                  
                  
                
Если кому интересно, тут есть полезная информация про стек: https://golang.org/doc/go1.3#stacks https://blog.cloudflare.com/how-stacks-are-handled-in-go/
Обсуждают сегодня