some tips for golang range
There are 2 types of range, with index and without index. Let’s see an example for range with index. func TestRangeWithIndex(t *testing.T) { rows := []struct{ index int }{{index: 0}, {index: 1}, {index: 2}} for _, row := range rows { row.index += 10 } for i, row := range rows { require.Equal(t, i+10, row.index) } } the output is: Error Trace: version_test.go:39 Error: Not equal: expected: 10 actual : 0 Test: TestShowRangeWithIndex Above test fails since when range with index, the loop iterator variable is the same instance of the variable with a clone of iteration target value....