获取用户终端输入
在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。
InputDemo.go
步骤:
1)导入fmt包
2)调用fmt包的 ftm.Scanln() 或者 fmt.Scanf()
案例演示
要求:可以从控制台接收用户信息,【姓名,年龄,薪水】。
1)使用fmt.Scanln() 获取
2)使用fmt.Scanf() 获取
函数: func Scanf
func Scanf(format string, a ...interface{}) (n int, err error)
Scanf从标准输入扫描文本,根据format 参数指定的格式将成功读取的空白分隔的值保存进成功传递给本函数的参数。返回成功扫描的条目个数和遇到的任何错误。
函数:func Scanln
func Scanln(a ...interface{}) (n int, err error)
Scanln类似Scan,但会在换行时才停止扫描。最后一个条目后必须有换行或者到达结束位置。
使用fmt.Scanln()函数的例子:
func main() {
//要求:可以从控制台接收用户信息,【姓名、年龄、薪水、是否通过考试】
//方式1: fmt.Scanln
//1先声明变量
var name string
var age byte
var sal float32
var isPass bool
fmt.Println("请输入姓名:")
//当程序执行到 fmt.Scanln(&name),程序会停止在这里,等待用户输入,并回车。
fmt.Scanln(&name)
fmt.Println("请输入年龄:")
fmt.Scanln(&age)
fmt.Println("请输入薪水:")
fmt.Scanln(&sal)
fmt.Println("请输入是否通过考试:")
fmt.Scanln(&isPass)
fmt.Printf("名字是 %v \n年龄是 %v \n薪水是 %v \n是否通过考试 %v \n", name, age, sal, isPass)
}
使用fmt.Scanf()的例子:
func main() {
//方式2:fmt.Scanf(),可以按指定的格式输入
var name string
var age byte
var sal float32
var isPass bool
fmt.Println("请输入您的名字,年龄,薪水,是否通过考试,使用空格隔开")
fmt.Scanf("%s %d %f %t", &name, &age, &sal, &isPass)
fmt.Printf("名字是 %v \n年龄是 %v \n薪水是 %v \n是否通过考试 %v \n", name, age, sal, isPass)
}