Go 语言中,表示字符串的数据类型是 string。我们知道字符串是由字节组成,而字节序列在 Go 语言中是用 byte 类型的切片([]byte)表达,因此 string 类型和 []byte 是可以互相转化的
package main
import "fmt"
func main() {
s:="上海"
bslice := []byte(s)
fmt.Printf("bslice的类型是: %T,值是:%v", bslice,bslice)
}
byte 类型是 unit8 类型的别名,因此输出的 bslice 变量的类型是 “[]unit8”,而后面值对应 ASCII 编码。
我们再把 byte 类型的切片 转成 字符串试试?
package main
import "fmt"
func main() {
s:="上海"
bslice := []byte(s)
fmt.Printf("bslice的类型是: %T,值是:%v", bslice,bslice)
fmt.Println("")
sslice := []byte{228,184,138,230,181,183}
ss := string(sslice)
fmt.Printf("sslice的类型是:%T,值是:%v", ss,ss)
}
运行下看看代码的运行结果: