gitee.com/wgliang/goreporter@v0.0.0-20180902115603-df1b20f7c5d0/linters/simplecode/testdata/loop-append.go (about) 1 package pkg 2 3 type T struct { 4 F string 5 } 6 7 func fn1() { 8 var x []interface{} 9 var y []int 10 11 for _, v := range y { 12 x = append(x, v) 13 } 14 15 var a, b []int 16 for _, v := range a { // MATCH /should replace loop/ 17 b = append(b, v) 18 } 19 20 var m map[string]int 21 var c []int 22 for _, v := range m { 23 c = append(c, v) 24 } 25 26 var t []T 27 var m2 map[string][]T 28 29 for _, tt := range t { 30 m2[tt.F] = append(m2[tt.F], tt) 31 } 32 33 var out []T 34 for _, tt := range t { 35 out = append(m2[tt.F], tt) 36 } 37 _ = out 38 } 39 40 func fn2() { 41 var v struct { 42 V int 43 } 44 var in []int 45 var out []int 46 47 for _, v.V = range in { 48 out = append(out, v.V) 49 } 50 } 51 52 func fn3() { 53 var t []T 54 var out [][]T 55 var m2 map[string][]T 56 57 for _, tt := range t { 58 out = append(out, m2[tt.F]) 59 } 60 } 61 62 func fn4() { 63 var a, b, c []int 64 for _, v := range a { 65 b = append(c, v) 66 } 67 _ = b 68 } 69 70 func fn5() { 71 var t []T 72 var m2 map[string][]T 73 var out []T 74 for _, tt := range t { 75 out = append(m2[tt.F], tt) 76 } 77 _ = out 78 }