```go
package main
import (
"fmt"
"time"
)
func main() {
var num = 10
var p = &num
c := make(chan int)
go func() {
time.Sleep(time.Second)
c <- *p //-----> 11
//c <- num //----->10
}()
time.Sleep(2 * time.Second)
num++
fmt.Println(<-c)
fmt.Println(p)
return
}
```
为什么 *p 和num的结果不一样
感谢回答,我也看到这两个的源码了,但是不知道,怎么去证明,只能对这两个地方反汇编,但是水平太次,没能看懂指令集
能不能请教一下,你是怎么分别打印的? 是直接调试的go的源码? 能否指点一二
#5
更多评论