Go 变量 字符类型

网友投稿 1018 2022-10-18

Go 变量 字符类型

Go 变量 字符类型

字符基本介绍

在 Go 语言中,还有一种字节类型 byte,它其实等价于 uint8 类型,可以理解为 uint8 类型的别名,用于定义一个字节,所以字节 byte 类型也属于整型。

Golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用byte(byte类型的范围是0-255,所以0-255字符都可以用byte来保存,经典的就是asii里面的字符都可以使用byte来保存)来保存。

字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。也就是说对于传统的字符串是由字符组成的,而Go的字符串不同,它是由字节组成的。

当我们输出byte值的时候,就是输出了对应字符的码值。

var c1 byte = 'a' var c2 byte = '0' fmt.Println(c1,c2)97 48

如果想要输出对应的字符需要使用格式化输出即可%c

fmt.Printf("%c %c",c1,c2)a 0

如果给了一个汉字会出错,因为对应的码值超出了0-255,byte是存储不进去的,使用int是可以存储进去的。

var c1 byte = '呗'

c3 := []byte{97,48} fmt.Println(string(c3))a0

对上面代码说明

1)如果我们保存的字符在 ASCⅡ表的,比如【0-1.a-z,A-Z.】直接可以保存到 byte

2) 如果我们保存的字符对应码值大于255,这时我们可以考虑使用 int类型保存

3)如果我们需要安装字符的方式输出,这时我们需要格式化输出,即 fmtPrintf("%c"c1).

字符类型使用细节

1) 字符常量是用单引号('')括起来的单个字符,而不是双引号。例如∶var c1 byte='a'             var c2 int='中'            var c3 byte= 'g'

2)Go中允许使用转义字符'\'来将其后的字符转变为特殊字符型常量。

例如∶var c3 char ='\n'    // '\n'表示换行符

3) Go语言的字符使用UTF-8编码,英文字母占有一个字节,汉字使用3个字节。

a := []byte("中")for _,v := range a{ fmt.Println(v)}fmt.Println(len(a))2281841733

4)在Go中,字符的本质是一个整数,直接输出时,是该字符对应的UTF-8编码的码值。

5)  可以直接给某个变量赋一个数字,然后按格式化输出时%c,会输出该数字对应的unicode 字符

6) 字符类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码.

字符类型本质探讨

1) 字符型存储到 计算机中,需要将字符对应的码值(整数)找出来

存储∶字符-->对应码值--->二进制->存储读取∶二进制--->码值--->字符-->读取

2) 字符和码值的对应关系是通过字符编码表决定的(是规定好)

3)Go语言的编码都统一成了utf-8。非常的方便,很统一,再也没有编码乱码的困扰了

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MVVM Architecture Android Beginners: 示例应用程序
下一篇:传输层 TCP UPD 应用场景
相关文章

 发表评论

暂时没有评论,来抢沙发吧~