Scan方法获取用户输入
在写交互式程序时,经常会用到等待用户输入相关信息,在获取到用户输入的信息后,将其作为变量再进行相关打印或函数传参等相关处理,在go语言中如果想获取用户输入,可以用Scan方法,fmt包下有fmt.Scan、fmt.Scanf、fmt.Scanln三个函数,可以在程序运行过程中从标准输入获取用户的输入。
1、fmt.Scan
func main() {
var (
name string
age int
married bool
)
fmt.Println("请输入:")
fmt.Scanln(&name, &age, &married)
fmt.Printf("扫描结果 name:%s age:%d married:%t", name, age, married)
}
运行结果:
请输入:
张三 23 false
扫描结果 name:张三 age:23 married:false
为了方便理解,我们可以看一下Scan函数的源码,按Ctrl键鼠标点击Scan,发现Scan的语法是这样的:
// Scan scans text read from standard input, storing successive
// space-separated values into successive arguments. Newlines count
// as space. It returns the number of items successfully scanned.
// If that is less than the number of arguments, err will report why.
func Scan(a ...interface{
}) (n int, err error) {
return Fscan(os.Stdin, a.