go:读取标准输入
Posted virgosnail
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 ",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 ",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 ", 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)
输出结果:
以上是关于go:读取标准输入的主要内容,如果未能解决你的问题,请参考以下文章
[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础
解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段