1 package main 2 3 import "fmt" 4 5 func main() { 6 /* 7 字符串: 8 1.概念:多个byte的集合,理解为一个字符序列 9 2.语法:使用双引号 10 "abc","hello","A" 11 也可以使用`` 12 3.编码问题 13 计算机本质只识别0和1 14 A:65,B:66,C:67... 15 a:97,b:98... 16 ASCII(美国标准信息交换码) 17 18 中国的编码表:gbk,兼容ASCII 19 中 20 家 21 Unicode编码表:号称统一了全世界 22 UTF-8,UTF-16,UTF-32... 23 24 4.转义字符:\ 25 A:有一些字符,有特殊的作用,可以转义为普通的字符 26 \',\' 27 B:有一些字符,就是一个普通的字符,转义后有特殊的作用 28 \n,换行 29 \t,制表符 30 */ 31 32 //1.定义字符串 33 var s1 string 34 s1 = "王二狗" 35 fmt.Printf("%T,%s\n", s1, s1) // string,王二狗 36 37 s2 := `Hello World` 38 fmt.Printf("%T,%s\n", s2, s2) // string,Hello World 39 40 //2.区别:'A',"A" 41 v1 := 'A' 42 v2 := "A" 43 vt := []rune(v2) 44 fmt.Printf("%T,%d\n", v1, v1) // int32,65 45 fmt.Printf("%T,%s\n", v2, v2) // string,A 46 fmt.Printf("%T,%#v\n", vt[0], vt[0]) // int32,65 47 48 v3 := '中' 49 fmt.Printf("%T,%d,%c,%q\n", v3, v3, v3, v3) // int32,20013,中,'中' 50 51 //3.转义字符 52 fmt.Println("\"HelloWorld\"") // "HelloWorld" 53 fmt.Println("Hello\nWor\tld") 54 55 fmt.Println(`He"lloWor"ld`) // He"lloWor"ld 56 fmt.Println("Hello`Wor`ld") // Hello`Wor`ld 57 }