发布时间:2024-12-23 03:44:37
var ch1 rune = '中'
var ch2 rune = '\u4e2d'
这两个例子都表示了一个汉字"中"。注意,跟其他编程语言不同,Go语言中的字符使用的是`rune`类型,而不是`byte`类型。`rune`实质上是一个32位的整数类型,用于表示Unicode码点。len(str)
该函数返回字符串中字符的个数,即Unicode码点的个数。[]rune(str)
将字符串转换为`rune`切片,其中每个元素都是一个字符的Unicode码点。string(rune)
将一个Unicode码点转换为对应的字符串。strconv.Itoa(n)
将整数n转换为字符串。 以字符为单位的字符串遍历: ``` str := "Hello, 世界" for _, ch := range str { fmt.Printf("%c ", ch) } ``` 输出结果为:"H e l l o , 世 界"。这里我们使用`range`关键字遍历字符串,变量`ch`的类型是`rune`,表示每个字符的Unicode码点。由于可能存在多字节字符,所以遍历时需要注意。str := "Hello, 世界"
firstChar := str[0]
在Go语言中,字符串的索引是从0开始计数的,并且字符串的索引操作返回的是对应字符的Unicode码点。ch := '中'
fmt.Printf("字符 %c 的UTF-8编码为: % x\n", ch, []byte(string(ch)))
输出结果为:"字符 中 的UTF-8编码为: e4 b8 ad"。这里我们使用`%x`格式化参数来将UTF-8编码以十六进制的形式打印出来。str := "Hello, 世界"
firstByte := str[0]
在Go语言中,字符串中的字节可以直接使用数字索引来访问。unicode.IsDigit(ch)
检查一个字符是否为数字。unicode.IsLetter(ch)
检查一个字符是否为字母。unicode.IsSpace(ch)
检查一个字符是否为空格。unicode.ToUpper(ch)
将一个字符转换为大写。unicode.ToLower(ch)
将一个字符转换为小写。 这些函数可以帮助我们快速、方便地对字符进行判断和转换,提高程序的灵活性和可读性。