前言
- 不做文字的搬运工,多做灵感性记录
- 这是平时学习总结的地方,用做知识库
- 平时看到其他文章的相关知识,也会增加到这里
- 随着学习深入,会进行知识拆分和汇总,所以文章会随时更新
- 参考的文章过多、很杂很乱,所以参考会写不全,见谅
1. 基本 介绍
-
Golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用byte来保存。
-
传统 :字符串就是一串固定长度的字符连接起来的字符序列。
go中:Go的字符串是由单个字节连接起来的
-
字符串中的每一个元素就是字符,
-
ASCII编码,只占一个字节,码表使用
2. 声明
var a byte = 'a' //单引号(' ')保存
备注:
1.保存的字符在ASCII表的可以直接保存到byte中,保存的字符对应码值大于255,要用int,否则会溢出
2.直接输出byte值,就是输出对应的字符的码值,//fmt.Print(a)
3.直接输出对应字符,需要格式化输出 %c //fmt.Print("%c",a),参看fmt包
3. 使用细节
-
go可以使用转义字符’\’来将其后的字符转变为特殊字符型常量。 var a char = ’ \n ’
-
Go语言的字符使用UTF-8编码,英文字母一1个字节,汉字一3个字节
-
字符的本质是一个整数,直接输出,是utf-8码值,是可以进行运算的,因为它都对应有Unicode码.
var n1 = 10 + ’ a ’ //10+97=107
4. 字符类型的本质
-
本质是一个整数,直接输出时,是该字符对应的UTF-8编码的码值。
-
字符型 存储到 计算机 中,需要将 字符 对应的 码值(整数) 找出
储存:字符——>对应码值——>二进制——>储存
读取:二进制——>码值——>字符——>读取
-
字符和码值的对应关系是通过字符编码表决定的(是规定好)
-
Go语言的编码都统一成了utf-8。非常的方便,很统一,再也没有编码乱码的困扰了
-