[]byte与string的两种转换方式和底层实现
2024-03-29 17:17:15 软件 190观看
摘要不过你发现没fasthttp关于string和[]byte的转换方式和大家平常普遍使用的方式不一样,fasthttp转换实现如下://[]byte转stringfunc b2s(b []byte) string { return *(*string)(unsafe.Pointer(&b))} //string转[]byte

不过你发现没fasthttp关于string和[]byte的转换方式和大家平常普遍使用的方式不一样,fasthttp转换实现如下:1W228资讯网——每日最新资讯28at.com

//[]byte转stringfunc b2s(b []byte) string {    return *(*string)(unsafe.Pointer(&b))} //string转[]bytefunc s2b(s string) (b []byte) {    bh := (*reflect.SliceHeader)(unsafe.Pointer(&b))    sh := (*reflect.StringHeader)(unsafe.Pointer(&s))    bh.Data = sh.Data    bh.Cap = sh.Len    bh.Len = sh.Len    return b}

为什么不用我们常见的string和[]byte的转换方式呢?这样做是怎么提高性能的呢?...1W228资讯网——每日最新资讯28at.com

带着这些疑问,今天将分享下并总结string和[]byte的转换方式,不同的转换方式之间的实现和区别!1W228资讯网——每日最新资讯28at.com


1W228资讯网——每日最新资讯28at.com

图片图片1W228资讯网——每日最新资讯28at.com

两种转换方式

如果此时此刻你刚好遇到面试官问你string和[]byte如何进行转换,有几种方式?你能答上来吗1W228资讯网——每日最新资讯28at.com

反正在写这篇文章之前小许估计是答不出来的,哈哈!1W228资讯网——每日最新资讯28at.com

毕竟知道的越多,不知道的也越多嘛1W228资讯网——每日最新资讯28at.com

那今天我们就来聊聊,继续往下读之前,我们先了解下这两种数据类型:1W228资讯网——每日最新资讯28at.com

string和[]byte

图片图片1W228资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-80518-0.html[]byte与string的两种转换方式和底层实现

声明:本网页内容旨在传播知识,不代表本站观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。

显示全文

上一篇:我们一起聊聊如何简化多个 if 的判断结构

下一篇:Promise.all 的异常处理,我希望大家一定要了解一下!

最新热点