- Published on
## 简单的代码, 问题不简单
今天有人发了段代码给我, 然后问输出结果是什么?
这段代码看上去非常简单, 但是确是很有迷惑性.
```go
// a.go
package main
import (
"fmt"
"time"
)
var x int64 = 0
func storeFunc() {
for i := 0; ; i++ {
if i%2 == 0 {
x = 2
} else {
x = 1
}
}
}
func main() {
go storeFunc()
for {
fmt.Printf("x=%v\n", x)
// x=0
time.Sleep(time.Millisecond * 10)
...