golang:[]byte转string

golang:[]byte转stringgolang中,字符切片[]byte转换成string最简单的方式是packagemainimport(“fmt”_”unsafe”)funcmain(){bytes:=[]byte(“Iambytearray!”)str:=string(bytes)bytes[0]=’i’//注意这一行,bytes在这里修改了数据,但是str打印出来的依然没变化,fmt.Println(str)}打印信息:I

大家好,又见面了,我是你们的朋友全栈君。

golang中,字符切片[]byte转换成string最简单的方式是

package main
 
import (
    "fmt"
    _ "unsafe"
)
 
func main() { 
   
    bytes := []byte("I am byte array !")
    str := string(bytes)
    bytes[0] = 'i'//注意这一行,bytes在这里修改了数据,但是str打印出来的依然没变化,
    fmt.Println(str)
}

打印信息:I am byte array !

上面的代码bytes在这里修改了数据,但是str打印出来的依然没变化,是因为[]byte的内存被拷贝了。接着看下面的代码

package main
 
import (
    "fmt"
    "unsafe"
)
 
func main() { 
   
    bytes := []byte("I am byte array !")
    str := (*string)(unsafe.Pointer(&bytes))
    bytes[0] = 'i'
    fmt.Println(*str)
}

打印信息:i am byte array !

现在打印出来的信息已经是改变过的了,现在可以看出来str和bytes共用一片内存。

这样做的意义在于,在网络通信中,大多数的接受方式都是[]byte,如果[]byte的数据比较大,内存拷贝的话会影响系统的性能。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148601.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 97ai新网址

    97ai新网址http://70.86.178.188/?fromuser=xxhhcc

    2022年6月8日
    53
  • fcntl和ioctl_Liverpool fc

    fcntl和ioctl_Liverpool fc一、fcntlfcntl函数用于执行各种描述符控制操作;/*返回值:成功取决于cmd,失败返回-1;*定义:*/#includeintfcntl(intsockfd,intcmd,/*intarg*/);/*说明:*第三个参数可有可没有,根据需要给出;*/函数有下面5种功能:复制一个现有的描述符(cmd=F_DUPFD);获得/

    2025年6月22日
    2
  • wxPython 入门教程.

    wxPython 入门教程.这篇文章是关于wxPython,但wxPython实际是两件事物的组合体:Python脚本语言和GUI功能的wxWindows库(关于wxWindows的介绍,请参阅developerWorks上的[“细述wxWindows”](http://www.ibm.com/developerworks/cn/linux/sdk/python/wxwin/index.html))。wxWindows库是为了最大可移植性的C/C++库,而抽取GUI功能。所以wxWindow

    2022年5月11日
    36
  • C#之线程ParameterizedThreadStart[通俗易懂]

    C#之线程ParameterizedThreadStart[通俗易懂]ParameterizedThreadStartclassProgram{staticvoidMain(string[]args){Workwork=newWork();//两种实例化委托的方法;//ParameterizedThreadStartParameterizedThreadStartDelegate=newParam…

    2022年7月15日
    13
  • 惠普笔记本电脑自动关机是什么原因_台式老电脑经常自动关机怎么办

    惠普笔记本电脑自动关机是什么原因_台式老电脑经常自动关机怎么办运行台式惠普win7系统电脑时总会碰到各种故障问题,这不一位用户说电脑总是自动关机,怎么回事?造成电脑自动关机的原因有很多,我们要根据具体故障原因来解决,下面小编告诉大家台式惠普电脑总是自动关机的三种原因及解决方法。惠普电脑总是自动关机的解决方法一:1、首先检查是不是硬件问题造成的电脑突然关机,如果你不懂硬件设备,建议您拿到专业电脑维修点进行维修检查,请不要乱拆否则硬件设备严重损坏。2、在检查电脑…

    2022年8月13日
    7
  • 数据库常用sql语句总结

    数据库常用sql语句总结查看时右侧可以打开CSDN自带的目录,方便查看目录一、基础1.SELECT语句2.SELECTDISTINCT语句3.WHERE子句4.AND和OR运算符5.ORDERBY语句6.INSERTINTO语句7.Update语句8.DELETE语句二、高级1.TOP子句2.LIKE操作符3.SQL通配符4.IN…

    2022年6月22日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号