golang中通过bufio和os包读取终端中输入的一行带空格的数据
1. 如果读取不带空格的数据可以使用fmt.Scan或fmt.Scanln读取一个或多个值,但是不能读取带空格的数据,可以使用bufio和os两个包结合
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
// os.Stdin将终端中输入的数据写入到Stdin这个文件中去
reader := bufio.NewReader(os.Stdin)
fmt.Print("请输入一行数据,带空格也行:")
// line 从Stdin中读取一行的数据,(字节的切片)可以转换成字符串
// reader默认一次能读4096个字节,一个汉字是三个字节
// 一次性读完:isPrefix就等于false
// 先读一部分:isPrefix等于true
line, isPrefix, err := reader.ReadLine()
// 将字节的切片转换成字符串
data := string(line)
fmt.Println(line, isPrefix, err)
fmt.Println(data)
}

浙公网安备 33010602011771号