go:读取标准输入
1. scanner
1.1 scan
从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,换行符不会结束读取,读取变量个数个输入后读取结束
var id int var name string var age int fmt.Println("please input you info !") // 从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,换行符不会结束读取,读取变量个数个输入后读取结束 _, err := fmt.Scan(&id, &name, &age) if err != nil { fmt.Println(err) return } fmt.Printf("id=%d, name=%s,age=%d \n",id,name,age)
1.2 scanln
从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,读遇到换行符后读取结束
var id int var name string var age int fmt.Println("please input you info !") // 从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,读遇到换行符后读取结束 _, e := fmt.Scanln(&id, &name, &age) if e != nil { fmt.Println(e) return } fmt.Printf("id=%d, name=%s,age=%d \n",id,name,age)
1.3 scanf
从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,输入个数小于变量个数则会报错,输入个数大于变量个数时忽略多余的输入
var id int var name string var age int fmt.Println("please input you info !") // 从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,输入个数小于变量个数则会报错,输入个数大于变量个数时忽略多余的输入 _, err1 := fmt.Scanf("%d %s %d", &id, &name, &age) if err1 != nil { fmt.Println("err:",err1) return } fmt.Printf("%d,%s,%d \n", id, name, age)
2. bufio
读取标准输入,换行后如果已经读取到结束字符,则会读取到结束字符及之前的文本
fmt.Println("please input you info !") // 设置输入为标准输入,换行后如果已经读取到结束字符,则会读取到结束字符及之前的文本 reader := bufio.NewReader(os.Stdin) // 设置结束字符 input, err := reader.ReadString('.') if err != nil { fmt.Println(err) return } fmt.Println(input)
输出结果:
如果文章对您有所帮助,可以点一下推荐