Navigation
阅读进度0%
Go String 高级用法:不可变性与 UTF-8 编码
December 19, 2024 (1y ago)
Go
String
UTF-8
章节概述如下
这里讲的string类型的高级用法
package main
import "fmt"
// 这一讲的主要内容是看string的特性
func main() {
T1()
}
// 1. string实际上是一个不可变的 byte切片
func T1() {
s := ""
s =" 123"
// s[1] = 3 // 会报错哈
s = "\xE4\xB8\xA5" // 这个旧是报错了一个 任何二进制的 数据
fmt.Println(s)
// 格式化输出
c := []rune("中")
fmt.Printf("中 unicode %x" ,c )
fmt.Printf("中 UT8 %x" , "中")
}
// 2. 字符和字符集
// Unicode 是一种字符集
// UTF 是Unicode的物理编码实现规则
// 3. 区别
/*
字符 中
Unicode 0x4E2D
UTF8 0xE4B8AD
string/[]byte [0xE4 ,0xB8, 0xAD] // 存储形式
*/
// 4. 常见的处理string的包 字符串的文档可以去查包文档哈
// strings
// strconv
// 字符串如何去遍历?
func T2() {
s := "中国"
for _,c = range s {
fmt.Printf("%[1]c %[1]x",c) // "%[1]c 就是拿出来哈"
}
}