0
package main
import "time"
import "fmt"
var i int = 0
func loopInc() {
for {
i++
}
}
func main() {
go loopInc()
<-time.After(1 * time.Millisecond)
fmt.Println(i)
}
は、このコードは常に0なぜこのコードは未定義の動作ですか?
を印刷し、私は実行可能ファイルをダンプして行く私のloopInc
関数は、何も行わないループにコンパイルされたことがわかりました。 i++
は存在しません。
なぜですか?