github.com/goplus/gop@v1.2.6/printer/_testdata/22-For-loop/for.gop (about) 1 // ----------------------------------------------------------------------------- 2 // for with <- 3 4 sum := 0 5 for x <- [1, 3, 5, 7, 11, 13, 17] if x > 3 { 6 sum += x 7 } 8 println("sum(5,7,11,13,17):", sum) 9 10 fns := make([]func() int, 3) 11 for i, x <- [3, 15, 777] { 12 v := x 13 fns[i] = func() int { 14 return v 15 } 16 } 17 println("values:", fns[0](), fns[1](), fns[2]()) 18 19 // ----------------------------------------------------------------------------- 20 // for with range with define tok (k,v := range x) 21 22 sum = 0 23 for _, x := range [1, 3, 5, 7, 11, 13, 17] { 24 if x > 3 { 25 sum += x 26 } 27 } 28 println("sum(5,7,11,13,17):", sum) 29 30 sum = 0 31 for i, x := range [3, 15, 777] { 32 v := x 33 fns[i] = func() int { 34 return v 35 } 36 } 37 println("values:", fns[0](), fns[1](), fns[2]()) 38 39 // ----------------------------------------------------------------------------- 40 // for with range with assign tok (k,v = range x) 41 42 sum = 0 43 x := 0 44 for _, x = range [1, 3, 5, 7, 11, 13, 17] { 45 if x > 3 { 46 sum += x 47 } 48 } 49 println("x:", x, x == 17) 50 println("sum(5,7,11,13,17):", sum) 51 52 // ----------------------------------------------------------------------------- 53 // normal for 54 55 sum = 0 56 arr := [1, 3, 5, 7, 11, 13, 17] 57 i := 10 58 for i = 0; i < len(arr); i++ { 59 if arr[i] > 3 { 60 sum += arr[i] 61 } 62 } 63 println("sum(5,7,11,13,17):", sum) 64 65 /* TODO: 66 arr = [3, 15, 777] 67 sum = 0 68 for i = 0; i < len(arr); i++ { 69 v := arr[i] 70 fns[i] = func() int { 71 return v 72 } 73 } 74 println("values:", fns[0](), fns[1](), fns[2]()) 75 */ 76 77 // -----------------------------------------------------------------------------