小编典典

如何索引Golang字符串中的字符?

go

如何获得“ E”输出而不是69?

package main

import "fmt"

func main() {
    fmt.Print("HELLO"[1])
}

Golang是否具有将字符转换为字节,反之亦然的功能?


阅读 216

收藏
2020-07-02

共1个答案

小编典典

解释的字符串文字是使用单个字符的UTF-8编码(可能是多字节)在双引号“”之间的字符序列。在UTF-8中,ASCII字符是单字节,对应于前128个Unicode字符。字符串的行为就像字节片。符文是标识Unicode代码点的整数值。因此,

package main

import "fmt"

func main() {
    fmt.Println(string("Hello"[1]))              // ASCII only
    fmt.Println(string([]rune("Hello, 世界")[1])) // UTF-8
    fmt.Println(string([]rune("Hello, 世界")[8])) // UTF-8
}

输出:

e
e
界

读:

进入转换的编程语言规范部分。

Go博客:Go中的字符串,字节,符文和字符

2020-07-02