Go从入门到精通——byte类型的切片([]byte)与string

byte类型的切片([]byte)与string

  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)
}

  运行下看看代码的运行结果:

  是不是?

posted @ 2023-02-28 21:31  左扬  阅读(1352)  评论(0编辑  收藏  举报
levels of contents