截取自我的博客:https://chunlife.top/
Go可以很方便的打印出结构体的field
,不同于json.Marshal()
操作,json
操作有很多局限性,首先其要求结构体字段为大写字段,否则没有访问权限,其二,其会多出一步函数调用,比较麻烦。
这里又很方便既可以将结构体field
打印出来的方法,不用区分大小写。
printf的关键字:%+v
,其中v不加+
也是有所区别的。
type info struct {
Key string
Value string
}
func main() {
v := info{"键值", "数据"}
bytes, _ := json.Marshal(v)
fmt.Printf("%v\n", v)
fmt.Printf("%+v\n", v)
fmt.Println(string(bytes))
}
// output
// {键值 数据}
// {Key:键值 Value:数据}
// {"Key":"键值","Value":"数据"}
到此这篇关于“Go打印结构体的field”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持Go语言编程网!
相关文章:
- golang使用reflect与tag修改结构体参数
- 【golang】结构体与json相互转换,map与json相互转换
- 如何比较golang中的结构体是否相等
- Golang实现将有规律的excel表格转化成struct并一起写入go文件中
- golang之cgo---类型转换小试牛刀之C结构体和go结构体转换
- Go基础编程:结构体
- go-redis 之结构体数组的存入取出
- go struct结构体转换为slice切片
- Golang中没有Struct的动态JSON解析器
- golang map/json/struct互转换
- golang slice 最后一个元素_Go 常见的数据结构 Slice
- Go结构体继承指针和非指针区别(转换接口)