当前位置:  开发笔记 > 编程语言 > 正文

在golang中将uint64转换为字符串

如何解决《在golang中将uint64转换为字符串》经验,为你挑选了3个好方法。

我想打印string一个uint64,但没有组合strconv,我用的是工作方法.

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

给我:

cannot use charge.Amount (type uint64) as type int in argument to strconv.Itoa

我怎么打印这个string



1> icza..:

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:格式化字符串而不打印?

如果你的目的是为了只打印值,则无需将其转换,既不int也没有string,使用的其中之一:

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



2> 小智..:

如果你想转换int64string,你可以使用:

strconv.FormatInt(time.Now().Unix(), 10)

要么

strconv.FormatUint



3> 小智..:

如果您确实希望将其保存在字符串中,则可以使用Sprint函数之一.例如:

myString := fmt.Sprintf("%v", charge.Amount)


为什么不只是`fmt.Sprint(charge.Amount)`?
推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有