| //go:build go1.24 |
| |
| package splitseq |
| |
| import ( |
| "bytes" |
| "strings" |
| ) |
| |
| func _() { |
| for line := range strings.SplitSeq("", "") { // 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.SplitSeq("", "") { // want "Ranging over SplitSeq is more efficient" |
| } |
| for range strings.SplitSeq("", "") { // want "Ranging over SplitSeq is more efficient" |
| } |
| for range bytes.SplitSeq(nil, nil) { // want "Ranging over SplitSeq is more efficient" |
| } |
| { |
| lines := strings.SplitSeq("", "") // 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) |
| } |
| } |