Go 语言 fmt.Scanln() 与 fmt.Scanf() 包使用
需要接收用户输入的数据,就可使用键盘输入语句来获取。
下面讲述两种方法的使用:
-
fmt.Scanln()的使用:
先声明需要的变量
package main import ( "fmt" ) func main(){ // 需求: 从控制台接收用户信息【姓名, 年龄, 薪水, 是否拿到offer】 var name string var age byte var salary float32 var isOffer bool fmt.Println("请输入姓名:") // 当程序执行到 fmt.Scanl(&name), 程序会停止这里, 等待用户输入, 并回车 fmt.Scanln(&name) fmt.Println("请输入年龄:") fmt.Scanln(&age) fmt.Println("请输入薪水:") fmt.Scanln(&salary) fmt.Println("请输入是否拿到Offer:") fmt.Scanln(&isOffer) fmt.Printf("名字是 %v\n 年龄是 %v\n 薪水是 %v\n 是否拿到offer %v\n ", name, age, salary, isOffer) } // 输出结果 请输入姓名: fe_cow 请输入年龄: 18 请输入薪水: 123.123 请输入是否拿到Offer: true 名字是 fe_cow 年龄是 18 薪水是 123.123 是否拿到offer true
-
fmt.Scanf()的使用:
fmt.Scanf()可以按指定的格式输入
输入值,使用空格隔开
package main import ( "fmt" ) func main(){ // 需求: 从控制台接收用户信息【姓名, 年龄, 薪水, 是否拿到offer】 var name string var age byte var salary float32 var isOffer bool fmt.Println("请输入您的姓名, 年龄,薪水,是否拿到offer") fmt.Scanf("%s %d %f %t", &name, &age, &salary, &isOffer) fmt.Printf("姓名:%v\n 年龄:%v\n 薪水:%v\n 是否拿到offer:%v\n", name, age, salary, isOffer) } // 输出结果 请输入您的姓名, 年龄,薪水,是否拿到offer fe_cow 18 123.123 true 姓名:fe_cow 年龄:18 薪水:123.123 是否拿到offer:true