H5W3
当前位置:H5W3 > go > 正文

【go】golang中,如果已知数据类型是整数,fmt使用%v还是%d输出,有区别吗?

golang中,如果已知数据类型是整数,fmt使用%v还是%d输出,有区别吗?

比如如下代码:

package main
import "fmt"
func main() {
var d int = 666
fmt.Printf("type d output is %d", d)
fmt.Printf("type v outout is %v", d)
}

输出

type d output is 666
type v outout is 666

这两者有何区别呢,如果没有什么区别的话,是不是所有的fmt使用都用%v就好了呢

回答

%d会按照十进制表示打印,而%v是默认格式, 而这个默认格式是可以根据自己的喜好改变的,只需要复写 String() 方法即可。

看下这个链接
https://stackoverflow.com/que…

一般上不会有什么差别,不过%v是通过类型的 String 函数转换的,如果你没有重写要输出类型的String函数,他们是一致的。。而%d是固定的,就是输出数字。

  1. %v比%d多了至少一次函数调用,做类型转换。
  2. %v目的是让你自定义输出value的格式。

本文地址:H5W3 » 【go】golang中,如果已知数据类型是整数,fmt使用%v还是%d输出,有区别吗?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址