Go language fmt.Scanln () and fmt.Scanf () package using
Need to receive data input by a user, the keyboard can be used to obtain the input sentence.
The following describes two methods :
-
fmt.Scanln () is used :
先声明需要的变量
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 () is used :
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