go 语言中如何接收用户输入的数据
在编程中,如果需要接收用户输入的数据,可以使用键盘输入语句来获取。
相关 API:
- func Scanln
func Scanln(a ...interface{}) (n int, err error)
Scanln 类似 Scan,但会在换行时才停止扫描。最后一个条目后必须有换行或者到达结束位置。
- func Scanf
func Scanf(format string, a ...interface{}) (n int, err error)
Scanf 从标准输入扫描文本,根据 format 参数指定的格式将成功读取的空白分隔的值保存进成功传递给本函数的参数。返回成功扫描的条目个数和遇到的任何错误。
示例:
package main import "fmt" func main(){ //实现功能:键盘录入学生的年龄,姓名,成绩,是否是VIP //方式1:Scanln var age int // fmt.Println("请录入学生的年龄:") //传入age的地址的目的:在Scanln函数中,对地址中的值进行改变的时候,实际外面的age被影响了 //fmt.Scanln(&age)//录入数据的时候,类型一定要匹配,因为底层会自动判定类型的 var name string // fmt.Println("请录入学生的姓名:") // fmt.Scanln(&name) var score float32 // fmt.Println("请录入学生的成绩:") // fmt.Scanln(&score) var isVIP bool // fmt.Println("请录入学生是否为VIP:") // fmt.Scanln(&isVIP) //将上述数据在控制台打印输出: //fmt.Printf("学生的年龄为:%v,姓名为:%v,成绩为:%v,是否为VIP:%v",age,name,score,isVIP) //方式2:Scanf fmt.Println("请录入学生的年龄,姓名,成绩,是否是VIP,使用空格进行分隔") fmt.Scanf("%d %s %f %t",&age,&name,&score,&isVIP) //将上述数据在控制台打印输出: fmt.Printf("学生的年龄为:%v,姓名为:%v,成绩为:%v,是否为VIP:%v",age,name,score,isVIP) }