golang中的字符串( 三 )

go run 7.gohello world6、字节切片转字符串需要明确的是,字节切片转换成字符串,需要复制一份副本出来 。可以通过下面的代码做验证:
b := []byte{'a', 'b', 'c'}s := string(b)b[1] = 'x'fmt.Println(s)事实上,上面将会输出abc而不是axc 。所以字节切片到字符串的转换是有开销的 。
但是我们开发中经常用到的包iio.Read之类的,入参或者返回经常是字节切片类型 。而我们调用这些函数时经常是以字符串的形式,导致我们不得不做一些字节切片刀字符串的转换 。
所以结论是,当我们需要使用字符串作为入参或者返回时,我们首先要考虑的是能用字节切片的就用字节切片 。
【golang中的字符串】

经验总结扩展阅读