Go笔记(3)-3种go语言的键盘输入详解
go语言的键盘输入详解
- go语言中有三种输入函数,分别是:
- fmt.Scanf() 可以按照指定的格式进行输入
- fmt.Scanln() 通过指针将值赋值给变量
- fmt.Scan()
(1)fmt.Scan
-
Scan从标准输入扫描文本,读取空白符分隔的值保存到传递给本函数的参数中,将换行符视为空白符
-
使用Scan函数需要用取址获取变量的地址,使用&号
-
使用该函数时,会在该函数收到用户输入前停止,直到获取用户输入
代码示例
func main(){
var a int
var b float64 //定义两个变量测试Scan()输入
fmt.Println("请输入a:整数 b:小数")
fmt.Scan(&a, &b) //输入数据,这里要使用&取变量地址
fmt.Printf("a=%d,b=%f", a, b) //打印输入的结果
}
- 换行符也被视作空白符:
(2)fmt.Scanf
-
Scanf根据format参数指定的格式去读取值
-
Scanf必须按照指定的具体的输入内容的格式去进行输入,否则无法获取输入的值
func main() {
var a int
var b float64 //定义两个变量测试Scan()输入
fmt.Println("请输入a:整数 b:小数")
fmt.Scanf("a的值:%d,b的值:%f", &a, &b) //输入数据,这里要使用&取变量地址
fmt.Printf("a=%d,b=%f", a, b) //打印输入的结果
}
-
未按照设定的输入格式输入:
-
严格按照设定的输入格式进行输入
-
可以看到,使用Scanf函数对用户的输入格式非常严格,即使少一个“,”号也会导致无法读取值
(3)fmt.Scanln
- Scanln类似于Scan,它要遇到换行时才停止扫描,最后一个数据后面必须有换行或结束符