天天看点

GO-byte、rune、string转换

  • byte是uint8的别名;
  • rune是int32的别名
package main

import (
    "fmt"
)

func main() {
    var bs = []byte{'a', 'b', 'c', 'd'}
    fmt.Println(string(bs)) // abcd
    
    var rs = []rune{'A', 'B', 'C', 'D'}
    fmt.Println(string(rs)) // ABCD
    
    var s string = "asdf"
    var s2b = []byte(s)
    fmt.Println(s2b) // [97 115 100 102]
    
    var s2r = []rune(s)
    fmt.Println(s2r) // [97 115 100 102]
    
    // 也可以使用整数切片来生成字串, rune同理
    var bs2 = []byte{97, 115, 100, 102}
    fmt.Println(string(bs2)) // asdf
}