栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

golang中[]byte转成string

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

golang中[]byte转成string

项目中 RPC 接口由于在入口直接打印 []byte 字节数组形式了,在查询日志的时候很难辨认,需要把其复制下来,再转成字符串。

比如,日志中打印的是 “[104 101 108 108 111 32 119 111 114 108 100]” 这样形式的 byte 数组,那么具体操作如下

func byte2Str()  {
	bt := []byte{104,101,108,108,111,32,119,111,114,108,100}
	fmt.Println(string(bt)) // 输出 hello world
}

当然了,逆推下,上述 byte 数组是如下方法打印的

func str2Byte()  {
	str := "hello world"
	bt := []byte(str)
	fmt.Println(bt) // 输出 [104 101 108 108 111 32 119 111 114 108 100]
}

最后,推荐下两个性能更优的转换函数

func StringToBytes(s string) []byte {
	return *(*[]byte)(unsafe.Pointer(
		&struct {
			string
			Cap int
		}{s, len(s)},
	))
}

func BytesToString(b []byte) string {
	return *(*string)(unsafe.Pointer(&b))
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/902576.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号