Go笔记(3)-3种go语言的键盘输入详解

发布时间 2023-10-22 17:25:13作者: silly_fox

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,它要遇到换行时才停止扫描,最后一个数据后面必须有换行或结束符