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

我正在使用一个包,而不是返回 a string,它返回 aeconomy.ClassId你可以在这里看到

我想将economy.ClassId它只是一个像“531569319”这样的数字字符串传递给一个接受字符串而不是字符串的函数,economy.ClassId所以有没有办法将此类型转换为字符串或否。谢谢。

我知道您可能会喜欢,strconv.FormatUint()但我会为自定义类型使用什么。


收到一只叮咚
浏览 161回答 3
3回答

侃侃无极

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

Qyouu

另一种可能更惯用的方法是使用fmt.Sprintf使用 Go 的格式字符串规范。两个例子...下面将 classId 转换为以 10 为基数的字符串:classIDStr := fmt.Sprintf("%d", classId)以下将其转换为字符串十六进制数,af 数字为小写:classIDHex := fmt.Sprintf("%x", classId)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go