| //go:build go1.24 | |
| package splitseq | |
| import ( | |
| "bytes" | |
| "strings" | |
| ) | |
| func _() { | |
| for _, line := range strings.Split("", "") { // want "Ranging over SplitSeq is more efficient" | |
| println(line) | |
| } | |
| for i, line := range strings.Split("", "") { // nope: uses index var | |
| println(i, line) | |
| } | |
| for i, _ := range strings.Split("", "") { // nope: uses index var | |
| println(i) | |
| } | |
| for i := range strings.Split("", "") { // nope: uses index var | |
| println(i) | |
| } | |
| for _ = range strings.Split("", "") { // want "Ranging over SplitSeq is more efficient" | |
| } | |
| for range strings.Split("", "") { // want "Ranging over SplitSeq is more efficient" | |
| } | |
| for range bytes.Split(nil, nil) { // want "Ranging over SplitSeq is more efficient" | |
| } | |
| { | |
| lines := strings.Split("", "") // want "Ranging over SplitSeq is more efficient" | |
| for _, line := range lines { | |
| println(line) | |
| } | |
| } | |
| { | |
| lines := strings.Split("", "") // nope: lines is used not just by range | |
| for _, line := range lines { | |
| println(line) | |
| } | |
| println(lines) | |
| } | |
| } |