如何将 uint8 转换为字符串

http://play.golang.org/p/BoZkHC8_uA


我想将 uint8 转换为字符串,但不知道如何转换。


  package main


  import "fmt"

  import "strconv"


  func main() {


    str := "Hello"

    fmt.Println(str[1])  // 101


    fmt.Println(strconv.Itoa(str[1]))

  }

这给了我 prog.go:11: cannot use str[1] (type uint8) as type int in function argument

 [process exited with non-zero status]


任何想法?


呼唤远方
浏览 378回答 3
3回答

蝴蝶刀刀

转换它或转换它是有区别的,请考虑:var s uint8 = 10fmt.Print(string(s))fmt.Print(strconv.Itoa(int(s)))字符串转换打印 '\n'(换行符),字符串转换打印“10”。一旦您考虑到两种变体的 []byte 转换,差异就会变得很明显:[]byte(string(s)) == [10] // the single character represented by 10[]byte(strconv.Itoa(int(s))) == [49, 48] // character encoding for '1' and '0'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go