为了账号安全,请及时绑定邮箱和手机立即绑定

如何将自定义类型转换为字符串?

如何将自定义类型转换为字符串?

Go
收到一只叮咚 2021-11-01 17:04:24
我正在使用一个包,而不是返回 a string,它返回 aeconomy.ClassId你可以在这里看到我想将economy.ClassId它只是一个像“531569319”这样的数字字符串传递给一个接受字符串而不是字符串的函数,economy.ClassId所以有没有办法将此类型转换为字符串或否。谢谢。我知道您可能会喜欢,strconv.FormatUint()但我会为自定义类型使用什么。
查看完整描述

3 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

ClassId被声明为type ClassId uint64,因此尽管 a 与 aClassId不完全相同uint64,但它们具有相同的基础类型,因此您可以从一个转换为另一个。要将值转换x为类型T(在允许的情况下),请编写T(x). 所以,在你的情况下:

 funcThatTakesAString(strconv.FormatUint(uint64(classId), 10))


查看完整回答
反对 回复 2021-11-01
?
Qyouu

TA贡献1786条经验 获得超11个赞

另一种可能更惯用的方法是使用fmt.Sprintf使用 Go 的格式字符串规范

两个例子...

下面将 classId 转换为以 10 为基数的字符串:

classIDStr := fmt.Sprintf("%d", classId)

以下将其转换为字符串十六进制数,af 数字为小写:

classIDHex := fmt.Sprintf("%x", classId)


查看完整回答
反对 回复 2021-11-01
  • 3 回答
  • 0 关注
  • 149 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信