i learner of go language. basic question. please check below sample code, , 3rd line.
a := [3]int{10,20} var int = 50 i, a[2] = 100, fmt.println(i) //100 fmt.println(a) //[10 20 50] i have overwriten value 100 in i variable , applied int array. when printed array, new value not printed. how multiple variable assignment work in go? why i value not updated array immediately?
the assigment section of go spec mentions:
the assignment proceeds in 2 phases.
- first, operands of index expressions , pointer indirections (including implicit pointer indirections in selectors) on left , expressions on right all evaluated in usual order.
- second, assignments carried out in left-to-right order.
that means:
var int = 50 i, a[2] = 100, a[2]assignedievaluated before assignment (50)iassigned100
Comments
Post a Comment