Go语言中的string和[]byte

作者: __sk | 来源:发表于2019-06-19 11:14 被阅读0次

    Go中的字符串(string)和切片([]byte)的差异、对比、以及互相转换
    string和[]byte的说明

    string就是一系列字节,而[]byte也可以表达一系列字节,使用过程中,需要注意以下几点

    1.string可以直接比较,而[]byte不可以,所以[]byte不可以当map的key值。

    2.因为无法修改string中的某个字符,需要粒度小到操作一个字符时,用[]byte。

    3.string值不可为nil,所以如果你想要通过返回nil表达额外的含义,就用[]byte。

    4.[]byte切片这么灵活,想要用切片的特性就用[]byte。

    5.需要大量字符串处理的时候用[]byte,性能好很多。

    string和[]byte 相互转换

    注:string 不能直接和byte数组转换;string可以和byte的切片转换

    1.string 转为[]byte

    
    var str string = "helloword"
    
    var data []byte = []byte(str)
    
    

    2.byte转为string

    
    var data [10]byte 
    
    byte[0] = 'A'
    
    byte[1] = 'B'
    
    var str string = string(data[:])
    
    

    相关文章

      网友评论

        本文标题:Go语言中的string和[]byte

        本文链接:https://www.haomeiwen.com/subject/euuhqctx.html