微信开发中 ACCESS TOKEN 过期失效的解决方案详解
574
2022-11-24
Go 输入输出
文章目录
Print 系列Sprint 系列Scan 系列bufio我的习惯
fmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取输入内容两大部分。
Print 系列
Print系列函数会将内容输出到系统的标准输出,区别在于Print函数直接输出内容,Printf函数支持格式化输出字符串,Println函数会在输出内容的结尾添加一个换行符。
func Print(a ...interface{}) (n int, err error)func Printf(format string, a ...interface{}) (n int, err error)func Println(a ...interface{}) (n int, err error)
func main() { fmt.Print("在终端打印该信息。") name := "沙河小王子" fmt.Printf("我是:%s\n", name) fmt.Println("在终端打印单独一行显示")}
在终端打印该信息。我是:沙河小王子在终端打印单独一行显示
Sprint 系列
Sprint系列函数会把传入的数据生成并返回一个字符串。
func Sprint(a ...interface{}) stringfunc Sprintf(format string, a ...interface{}) stringfunc Sprintln(a ...interface{}) string
s1 := fmt.Sprint("沙河小王子")name := "沙河小王子"age := 18s2 := fmt.Sprintf("name:%s,age:%d", name, age)s3 := fmt.Sprintln("沙河小王子")fmt.Println(s1, s2, s3)
Scan 系列
Go语言fmt包下有fmt.Scan、fmt.Scanf、fmt.Scanln三个函数,可以在程序运行过程中从标准输入获取用户的输入。
Scan从标准输入扫描文本,读取由空白符分隔的值保存到传递给本函数的参数中,换行符视为空白符。
本函数返回成功扫描的数据个数和遇到的任何错误。如果读取的数据个数比提供的参数少,会返回一个错误报告原因。
func main() { var ( name string age int married bool ) fmt.Scan(&name, &age, &married) fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married)}
Scanf从标准输入扫描文本,根据format参数指定的格式去读取由空白符分隔的值保存到传递给本函数的参数中:
func Scanf(format string, a ...interface{}) (n int, err error)
func main() { var ( name string age int married bool ) fmt.Scanf("1:%s 2:%d 3:%t", &name, &age, &married) fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married)}
fmt.Scanf不同于fmt.Scan简单的以空格作为输入数据的分隔符,fmt.Scanf为输入数据指定了具体的输入内容格式,只有按照格式输入数据才会被扫描并存入对应变量。
Scanln类似Scan,它在遇到换行时才停止扫描。最后一个数据后面必须有换行或者到达结束位置。 对这句话我持怀疑态度。
func main() { var ( name string age int married bool ) fmt.Scanln(&name, &age, &married) fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married)}
bufio
有时候我们想完整获取输入的内容,而输入的内容可能包含空格,这种情况下可以使用bufio包来实现。示例代码如下:
func bufioDemo() { reader := bufio.NewReader(os.Stdin) // 从标准输入生成读对象 fmt.Print("请输入内容:") text, _ := reader.ReadString('\n') // 读到换行 text = strings.TrimSpace(text) fmt.Printf("%#v\n", text)}
我的习惯
这边建议:Printfln + Scan 组合。 这边还建议不要建议和哈哈。 go 的字符串拼接跟 Python 是一样简单的。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~