fork download
  1. package main
  2.  
  3. import "fmt"
  4.  
  5. var a = 10
  6.  
  7. func test() {
  8. fmt.Println("test:", a)
  9. }
  10.  
  11. func main() {
  12. a = 1 // изменяем значение а из лексического окружения функции test
  13. test()
  14. a := 2 // создаем новое окружение с новой a, при этом старая никуда не девается
  15. test()
  16. fmt.Println(a)
  17. }
Success #stdin #stdout 0s 420544KB
stdin
Standard input is empty
stdout
test: 1
test: 1
2