Consider the following program
http://play.golang.org/p/UN30W1GUC7
Both val and val2 appear to store 0 onto the stack, then overwrite
that value with the result
--- prog list "val" ---
0006 (/Users/dfc/devel/src/inl.go:9) TEXT val+0(SB),$8-8
0007 (/Users/dfc/devel/src/inl.go:10) MOVQ $1,BX
0008 (/Users/dfc/devel/src/inl.go:11) MOVQ $7,AX
0009 (/Users/dfc/devel/src/inl.go:11) MOVQ $0,.anon2+-8(SP)
0010 (/Users/dfc/devel/src/inl.go:11) ADDQ AX,BX
0011 (/Users/dfc/devel/src/inl.go:11) MOVQ BX,.anon2+-8(SP)
0012 (/Users/dfc/devel/src/inl.go:11) MOVQ .anon2+-8(SP),AX
0013 (/Users/dfc/devel/src/inl.go:12) MOVQ AX,.noname+0(FP)
0014 (/Users/dfc/devel/src/inl.go:12) RET ,
--- prog list "val2" ---
0015 (/Users/dfc/devel/src/inl.go:15) TEXT val2+0(SB),$8-8
0016 (/Users/dfc/devel/src/inl.go:16) MOVQ $1,BX
0017 (/Users/dfc/devel/src/inl.go:16) MOVQ $7,AX
0018 (/Users/dfc/devel/src/inl.go:16) MOVQ $0,.anon2+-8(SP)
0019 (/Users/dfc/devel/src/inl.go:16) ADDQ AX,BX
0020 (/Users/dfc/devel/src/inl.go:16) MOVQ BX,.anon2+-8(SP)
0021 (/Users/dfc/devel/src/inl.go:16) MOVQ .anon2+-8(SP),AX
0022 (/Users/dfc/devel/src/inl.go:17) MOVQ AX,.noname+0(FP)
0023 (/Users/dfc/devel/src/inl.go:17) RET ,
Am I missing something? Is there a reason for this ?
Cheers
Dave