前言
Go不同于Python使用1个print内置函数就可以完美包揽一些输出了。
fmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取输入内容两大部分
向外输出
标准库fmt
提供了以下几种输出相关函数
普通的 输出、换行 、支持字符串格式化输出。
package main import "fmt" var m1 = make( map [string]int, 1) func main() { m1[ "age" ] = 18 fmt.Print( "Hello World\n" ) //不会自动在打印内容后面加换行符\n fmt.Println( "Hello World" ) //Println 支持自动加换行符 fmt.Printf( "Hello %s\n" , "World" ) //Printf支持 占位符 fmt.Printf( "%t\n" , false && false) fmt.Printf( "%#v\n" , m1) //map[string]int{"age":18} fmt.Printf( "%c\n" , 's' ) fmt.Printf( "%q\n" , "drop database mysql;" ) //帮字符串加双引号; n := 12.34 fmt.Printf( "%f\n" , n) fmt.Printf( "%9f\n" , n) fmt.Printf( "%.2f\n" , n) //只取2位小数点 /* %s:输出字符串 %T:查看数据类型 %d:十进制数 %b:二进制数 %o:八进制数 %x:十六进制数 %c:输出字符 %p:输出指针 %v:按值的原样输出 %#v:值的Go语法表示 %f:输出浮点数 %%:转义百分号 %t:布尔值 %s:该值对应unicode码值 %q:帮字符串加双引号,做sql拼接 %.2f:只取2位小数点 */ } |
Sprint
Sprint
系列函数会把传入的数据生成 并返回一个字符串。以供变量接收!
package main import "fmt" func main() { //Sprint函数 就是可以把输出的内容,让变量接收到 s2 := fmt.Sprintln( "Hello World" ) s1 := fmt.Sprint( "Hello" ) v1 := fmt.Sprintf( "%s Martin" , s1) fmt.Println(v1) fmt.Print(s2) } |
获取键盘输入
Go语言fmt
包下有fmt.Scan
、fmt.Scanf
、fmt.Scanln
三个函数,可以在程序运行过程中从标准输入获取用户的输入。
Scan
以空格符分割用户的输入
package main import "fmt" func main() { //一定要记住要在Go中修改变量一定要传指针 var ( name string age int ) fmt.Print( "请输入姓名、年龄 以空格隔开: " ) fmt.Scan(&name) //用户输入遇到空格 赋值给变量 fmt.Scan(&age) //用户输入遇到空格 赋值给变量 fmt.Printf( "用户输入的姓名是:%s 年龄是 %d\n" ,name,age) } |
Scanln
使用空格(换行符)分割用户输入的内容
package main import "fmt" func main() { //一定要记住要在Go中修改变量一定要传指针 var ( name string age int ) fmt.Print( "请输入姓名: " ) fmt.Scanln(&name) //用户输入遇到回车(换行符) 赋值给变量 fmt.Println( "用户输入的姓名是 " , name) fmt.Print( "请输入年龄: " ) fmt.Scanln(&age) //用户输入遇到回车(换行符) 赋值给变量 fmt.Println( "用户输入的年龄是 " , age) } |
Scanf
使用空格分割用户输入,支持 格式化输入
package main import "fmt" func main() { //一定要记住要在Go中修改变量一定要传指针 var ( name string age int ) fmt.Printf( "输入姓名和年龄空格隔开: " ) fmt.Scanf( "%s%d" , &name,&age) //支持 格式化输入 fmt.Printf( "你输入的姓名:%s 年龄:%d" , name, age) } |
分类:
Golang基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南