在golang的字符串(string)和字节切片(byte slice)之间转换是一个常见的操作。在一些特殊的场景下,我们需要将字符串转为字节切片或者反过来,以便于进行各种操作。下面我们就来了解一下golang中string和byte slice之间的转换方式。
- string转成byte slice
在golang中,string底层是通过byte slice实现的,因此string转成byte slice非常容易。我们只需要使用内置转换函数[]byte(str)就行了,例如:
str := "hello world"
byteSlice := []byte(str)
[string->byteslice.png]
上面代码中,我们定义了一个字符串"hello world"并在第二行使用内置函数[]byte()将其转换为了字节切片byteSlice。这里需要注意的是,转换后的字节切片是可以修改的,例如:
byteSlice[0] = 'H'
fmt.Println(string(byteSlice))
上面代码中,我们将byteSlice的第一个元素修改为了大写字母'H',并在下一行使用内置函数string()将其重新转换为字符串并输出。
- byte slice转成string
同样,将字节切片转换成字符串也非常简单,我们只需要使用内置转换函数string(byteSlice)就可以了,例如:
byteSlice := []byte{'h','e','l','l','o',' ','w','o','r','l','d'}
str := string(byteSlice)
[byteslice->string.png]
上面代码中,我们定义了一个字节切片byteSlice并在第二行使用内置函数string()将其转换为了字符串str。需要注意的是,当byteSlice中包含中文字符时,我们需要将其转换成string类型才能正确地输出中文字符。否则会出现乱码的情况。
总结一下,在golang中我们可以通过内置的[]byte()函数将字符串转换为字节切片,也可以通过内置的string()函数将字节切片转换为字符串。这些转换操作非常简单,可以轻松在各种场景中使用。
以上就是golang string转 byte的详细内容,更多请关注编程网其它相关文章!