运维开发网
广告位招商联系QQ:123077622
 
广告位招商联系QQ:123077622

在golang中将uint64转换为字符串

运维开发网 https://www.qedev.com 2020-05-15 13:50 出处:网络 作者:运维开发网整理
我试图用uint64打印一个字符串,但我没有使用strconv方法的组合。 log.Println("The amount is: " + strconv.Itoa((charge.Amount))) 给我: 不能使用charge.Amount(类型uint64)作为strconv.Itoa参数中的int类型 我该如何打印这个字符串? strconv.Itoa()期望int类型的值,所以你必须给它
我试图用uint64打印一个字符串,但我没有使用strconv方法的组合。

log.Println("The amount is: " + strconv.Itoa((charge.Amount)))

给我:

不能使用charge.Amount(类型uint64)作为strconv.Itoa参数中的int类型

我该如何打印这个字符串?

strconv.Itoa()期望int类型的值,所以你必须给它:

log.Println("The amount is: " + strconv.Itoa(int(charge.Amount)))

但是要知道如果int是32位(而uint64是64),这可能会失去精度,而且签名也是不同的。 strconv.FormatUint()会更好,因为它需要uint64类型的值:

log.Println("The amount is: " + strconv.FormatUint(charge.Amount, 10))

有关更多选项,请参阅以下答案:Golang: format a string without printing?

如果您的目的是仅打印该值,则无需将其转换为int或string,请使用以下方法之一:

log.Println("The amount is:", charge.Amount)
log.Printf("The amount is: %d\n", charge.Amount)

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消