Why does the compiler change evaluation order of return when adding a new field to a struct? I didn't check the compiler output, I only guess it somehow changes the order. play <https://play.golang.org/p/1_TBo98bRd6> package main import ( "fmt" ) type Number interface { Value() int } type Integer struct { value int additional int // remove this for different result } func (integer Integer) Value() int { return integer.value } func main() { number, _ := getNumber() fmt.Printf("number val: %d\n", number.Value()) } func getNumber() (Number, error) { var intNumber Integer return intNumber, setInteger(&intNumber) } func setInteger(num *Integer) error { num.value = 2 return nil }
-- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/b7077f03-b0f4-454a-a587-ab9757164409n%40googlegroups.com.