在 Go 语言中,使用 for
循环时,可以通过添加一个 Read:
标识来表示该循环是用于读取数据的。这个标识的作用类似于 range
关键字。
当循环变量被声明为一个类型为 io.Reader
的值时,我们可以使用 Read()
方法从输入流中读取数据。然后,在循环体内部,我们可以对读取到的数据进行处理。
例如,下面的代码演示了如何使用带有 Read:
标识的 for
循环从标准输入读取数据,并将其转换为大写:
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
reader := bufio.NewReader(os.Stdin)
for line, err := reader.ReadString('\n'); err == nil; line, err = reader.ReadString('\n') {
// 处理读取到的行
line = strings.ToUpper(line)
fmt.Print(line)
}
}
在上述代码中,ReadString()
函数用于从标准输入读取一行数据,并且当读取到的数据不为空时,就进入了循环。在每次迭代中,我们将读取到的行转换为大写,并输出到控制台。因此,通过添加 Read:
标识,我们可以清晰地表达出这个循环是用于读取数据的。