page contents

字符串打印时,%v 和 %+v 的区别?

轩辕小不懂 发布于 2021-09-13 15:40
阅读 3524
收藏 0
分类:Golang
1920
Nen
Nen
- 程序员

%v 和 %+v 都可以用来打印 struct 的值,区别在于 %v 仅打印各个字段的值,%+v 还会打印各个字段的名称。

type Stu struct {
Name string
}

func main() {
fmt.Printf("%v\n", Stu{"Tom"}) // {Tom}
fmt.Printf("%+v\n", Stu{"Tom"}) // {Name:Tom}
}

但如果结构体定义了 String() 方法,%v 和 %+v 都会调用 String() 覆盖默认值。

请先 登录 后评论