字符类型(char)
Golang 没有专门的字符类型,如果要存储单个字符(字母),一般用byte来保存。
字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。也就是说对于传统的字符串是由字符组成的,而Go的字符串不同,它是由字节组成的。【官方将string归属到基本数据类型】
var c1 byte = 'a'
var c2 byte = 0
fmt.Println("c1 = ",c1)
// 直接输出byte值 会输出对应的字符的码值
// 如果希望输出对应字符 需要使用格式化输出
fmt.Printf("c1 = %c",c1)
var c3 byte = '北' // 会报错 因为汉字"北"对应的码值超出了0-255这个范围
var c3 int = '北' // 可以这样输出
字符类型使用细节
字符常量是用单引号('')括起来的单个字符。例如var c1 byte = 'a' var c2 byte = '0'
Go中允许使用转义字符'\'来将其后的字符转变为特殊字符型常量。例如 var v3 byte = '\n' 表示换行符
Go语言的字符使用UTF-8编码
在Go中 字符的本质是一个整数,直接输出时,是该字符对应的UTF-8编码的码值。
可以直接给某个变量赋一个数字。然后格式化输出时%c 会输出该数字对应unicode字符
字符类型是可以进行运算的 相当于一个整数,因为它都对应有unicode码。
字符串类型 (string)
字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。也就是说对于传统的字符串是由字符组成的,而Go的字符串不同,它是由字节组成的。Go语言的字符串的字节使用UTF-8编码标识Unicode文本。
// 字符串的基本使用
var str string = "北京欢迎你"
fmt.Println("str 的值为",str)
字符串类型的使用细节
Go语言的字符串的字节使用UTF-8编码标识Unicode文本,这样Golang统一使用UTF-8编码,不会被乱码问题困扰
字符串一旦被赋值就不能再修改了,在Go中字符串是不可变的
字符串的两种表示形式
双引号 会识别转义字符
反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击,输出源代码等效果
字符串的拼接方式 使用符号+ 当需要拼接的字符串很长时 可以隔行写 隔行写的时候+号应该留在上面