小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《Golang:将自定义类型(别名为字节)转换为字符串》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!
问题内容这与golang语言有关。我不知道如何转换自定义类型的值:
type hash [32]byte
转换为该哈希值的字符串表示形式:
myHash := CreateHash("This is an example text to be hashed")
fmt.Printf("This is the hash: %s", string(myHash))
我收到的错误如下:
无法将 myhash(hash 类型的变量)转换为字符串 编译器(无效转换)
虽然我可以只使用 [32] 字节,但我真的很想知道如何在 go 中做到这一点;我已经搜索了一段时间,但找不到这种情况的解决方案。
提前致谢!
正确答案
go不支持conversion从字节数组到字符串的转换,但go支持从字节切片到字符串的转换。通过 slicing 修复数组:
fmt.printf("this is the hash: %s", string(myhash[:]))
您可以省略转换,因为 %s
动词支持字节切片:
fmt.printf("this is the hash: %s", myhash[:])
如果哈希包含二进制数据而不是可打印字符,则考虑使用 %x
动词打印哈希的十六进制编码:
fmt.Printf("This is the hash: %x", myHash[:])
好了,本文到此结束,带大家了解了《Golang:将自定义类型(别名为字节)转换为字符串》,希望本文对你有所帮助!关注编程网公众号,给大家分享更多Golang知识!