如何获得“E”输出而不是 69?
package main
import "fmt"
func main() {
fmt.Print("HELLO"[1])
}
Golang 是否具有将 char 转换为 byte 以及反之亦然的功能?
最佳答案
解释的字符串文字是双引号 ""之间的字符序列,使用单个字符的(可能是多字节的)UTF-8 编码。在 UTF-8 中,ASCII 字符是对应于前 128 个 Unicode 字符的单字节字符。字符串的行为类似于 byte slice 。 rune 是标识 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
界
阅读:
关于string - 如何索引 Golang 字符串中的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15018545/