写点什么

【一 Go 到底】第八天 --- 用户输入

作者:指剑
  • 2022 年 10 月 08 日
    重庆
  • 本文字数:831 字

    阅读完需:约 3 分钟

【一Go到底】第八天---用户输入

这里使用 fmt 包中的两个函数,分别为 Scanln Scanf

Scanln 获取一行输入

Scanln 类似 Scan,但会在换行时才停止扫描。最后一个条目后必须有换行或者到达结束位置。


案例:从控制台接收用户信息 , 【姓名,年龄,性别,是否健康】


package main
import "fmt"
func main() {
// 从控制台接收用户信息 , 【姓名,年龄,性别,是否健康】
//func Scanln(a ...interface{}) (n int, err error) //Scanln类似Scan,但会在换行时才停止扫描。最后一个条目后必须有换行或者到达结束位置。 var name string var age byte var gender string var health bool fmt.Println("请输入姓名") // 等待用户输入 回车 fmt.Scanln(&name)
fmt.Println("请输入年龄") fmt.Scanln(&age)
fmt.Println("请输入性别") fmt.Scanln(&gender)
fmt.Println("请输入是否健康") fmt.Scanln(&health)
fmt.Printf("姓名为:%v\n年龄:%v\n性别:%v\n是否健康:%v\n", name, age, gender, health)}
复制代码

Scanf 可格式化输入

Sscanf 从字符串 str 扫描文本,根据 format 参数指定的格式将成功读取的空白分隔的值保存进成功传递给本函数的参数。返回成功扫描的条目个数和遇到的任何错误。案例:从控制台接收用户信息 , 【姓名,年龄,性别,是否健康】


package main
import "fmt"
func main() {
// 从控制台接收用户信息 , 【姓名,年龄,性别,是否健康】
fmt.Println("请输入您的姓名,年龄,性别,是否健康,使用空格隔开") // 使用不同占位符,也可以使用 %v 通用占位符 // %s 为字符串的占位符 // %d 为十进制 // %t 为 bool值的占位符 // Scanf从标准输入扫描文本,根据format 参数指定的格式将成功读取的空白分隔的值保存进成功传递给本函数的参数。返回成功扫描的条目个数和遇到的任何错误。 fmt.Scanf("%s %d %s %t", &name, &age, &gender, &health) fmt.Printf("姓名为:%v\n年龄:%v\n性别:%v\n是否健康:%v\n", name, age, gender, health)
}
复制代码


发布于: 刚刚阅读数: 4
用户头像

指剑

关注

InfoQ签约作者 2022.07.13 加入

AWS Community Builder,AWS Student Ambassador,阿里云专家博主,OPS社区创始成员

评论

发布
暂无评论
【一Go到底】第八天---用户输入_Go_指剑_InfoQ写作社区