【金秋打卡】第22天 Go开发工程师全新版 5-3
2022/11/16 3:24:05
本文主要是介绍【金秋打卡】第22天 Go开发工程师全新版 5-3,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程名称: Go开发工程师全新版
课程章节: 5-3 格式化输出
课程讲师: bobby
课程内容:
格式化: 字符串形式,以 % 符号开头
fmt.Printf(): fmt包中函数,可以格式化输出字符串,性能不好
fmt.Printf([格式化样式],[参数1],[参数2]...); // 如 fmt.Printf("名称: %s,年龄: %d, 地址: %s \r\n", name, age, address)
fmt.Sprintf(): fmt包中函数,传入格式化样式字符串,会生成并返回字符串,Printf() 直接打印 没有返回
fmt.Sprintf([格式化样式],[参数1],[参数2]...); // 如 // 有返回值,不会直接打印,需要接收 str := fmt.Sprintf("名称: %s,年龄: %d, 地址: %s \r\n", name, age, address) fmt.Println(str)
演示
package main import ( "fmt" "strconv" ) func main() { // 格式化输出 username := "bobby" age := 18 address := "北京" mobile := "18900000000" var ages []int = []int{1, 2, 3} //没有格式化写法,及其难维护 fmt.Println("用户名:" + username + ", 年龄:" + strconv.Itoa(age) + ",地址:" + address + ",电话:" + mobile) // Printf:格式化输出,但性能没上面好 fmt.Printf("用户名: %s, 年龄:%d, 地址:%s, 电话:%s \r\n", username, age, address, mobile) // Sprintf():返回格式化的输出后的字符串 userMsg := fmt.Sprintf("用户名: %T, 年龄:%T, 地址:%s, 电话:%s \r\n", ages, age, address, mobile) fmt.Println(userMsg) }
缺省格式和类型
格式化后的效果 | 动词 | 描述 |
---|---|---|
[0 1] | %v |
缺省格式 |
[]int64{0, 1} | %#v |
go语法打印 |
[]int64 | %T |
类型打印 |
整型(缩进, 进制类型, 正负符号)
格式化后的效果 | 动词 | 描述 |
---|---|---|
15 | %d |
十进制 |
+15 | %+d |
必须显示正负符号 |
␣␣15 | %4d |
Pad空格(宽度为4,右对齐) |
15␣␣ | %-4d |
Pad空格 (宽度为4,左对齐) |
1111 | %b |
二进制 |
17 | %o |
八进制 |
f | %x |
16进制,小写 |
字符(有引号, Unicode)
Value: 65
(Unicode letter A)
格式化后的效果 | 动词 | 描述 |
---|---|---|
A | %c |
字符 |
‘A’ | %q |
有引号的字符 |
U+0041 | %U |
Unicode |
U+0041 ‘A’ | %#U |
Unicode 有引号 |
浮点(缩进, 精度, 科学计数)
Value: 123.456
格式化后的效果 | 动词 | 描述 |
---|---|---|
1.234560e+02 | %e |
科学计数 |
123.456000 | %f |
十进制小数 |
字符串or 字节slice (引号, 缩进, 16进制)
Value: "cafe"
格式化后的效果 | 动词 | 描述 |
---|---|---|
cafe | %s |
字符串原样输出 |
␣␣cafe | %6s |
宽度为6,右对齐 |
课程收获:
对格式化输出有了清晰了认知
这篇关于【金秋打卡】第22天 Go开发工程师全新版 5-3的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享
- 2024-12-10搭建个人博客网站之一、使用hugo创建个人博客网站