在编程中,需要接受用户输入的数据
方法:使用键盘输入语句
步骤:
- 导入 fmt 包
- 调用 fmt 包的 fmt.Scanln() 或者 fmt.Scanf()
func Scanln
func Scanln(a ...interface{}) (n int, err error)
Scanln 类型 Scan,但会在换行时才停止扫描。最后一个条目必须有换行或者到达结束位置。
案例:
/*
要求:可以从控制台接收用户信息,【姓名,年龄,薪水,是否通过考试】
分析:
1.接收用户信息 fmt.Scanln()
2.输出用户全部信息 fmt.Println()
3.数据类型 姓名 string,年龄 int,薪水 float64,是否通过考试 bool
*/
package main
import (
"fmt"
)
func main() {
// 定义用户输入数据的变量
var name string
var age int
var salary float64
var isPass bool
// 提醒用户输入
fmt.Println("请输入姓名:")
// 接收用户输入的内容
// 当程序执行到 fmt.Scanln(&name),程序会停止在这里,等待用户输入,并回车
fmt.Scanln(&name)
fmt.Println("请输入年龄:")
fmt.Scanln(&age)
fmt.Println("请输入薪水:")
fmt.Scanln(&salary)
fmt.Println("请输入是否通过考试:")
fmt.Scanln(&isPass)
// 输出用户所有的信息
fmt.Println("名字是 %v \n 年龄是 %v \n 薪水是 %v \n 是否通过考试 %v \n",name,age,salary,isPass)
}
// %v 是什么存在疑问
func Scanf
func Scanf(format string, a ...interface{}) (n int, err error)
Scanf 从标准输入扫描文本,根据 format 参数指定的格式将成功读取的空白分隔的值保存进成功传递给本函数的参数。返回成功扫描的条目个数和遇到的任何错误。
案例:
/*
要求:可以从控制台接收用户信息,【姓名,年龄,薪水,是否通过考试】
分析:
1.接收用户信息 fmt.Scanln()
2.输出用户全部信息 fmt.Println()
3.数据类型 姓名 string,年龄 int,薪水 float64,是否通过考试 bool
*/
package main
import (
"fmt"
)
func main() {
// 定义用户输入数据的变量
var name string
var age int
var salary float64
var isPass bool
// 使用 fmt.Scanf() 按照指定的格式输入
fmt.Println("请输入你的姓名,年龄,薪水,是否通过考试,使用空格隔开")
fmt.Scanf("%s %d %f %t",&name,&age,&salary,&isPass)
// 输出用户的所有信息
fmt.Println("名字是 %v \n 年龄是 %v \n 薪水是 %v \n 是否通过考试 %v \n",name,age,salary,isPass)
}