首页> 基础笔记 >GoLang基础学习 >基础知识 基础知识

GoLang数据类型-字符类型介绍

作者:小萝卜 2023-03-29 浏览 198

简介Golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用 byte来保存。 字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。也 就是说对于传统的字符串是由字符组成的,而 Go的字符串不同,它是由字节组成的。

基本介绍

Golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用  byte来保存。

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

案例演示

//演示golang中字符类型使用
func main() {
	
	var c1 byte = 'a'
	var c2 byte = '0' //字符的0

	//当我们直接输出byte值,就是输出了的对应的字符的码值
	// 'a' ==> 
	fmt.Println("c1=", c1)
	fmt.Println("c2=", c2)
	//如果我们希望输出对应字符,需要使用格式化输出
	fmt.Printf("c1=%c c2=%c\n", c1, c2)

	//var c3 byte = '北' //overflow溢出
	var c3 int = '北' //overflow溢出
	fmt.Printf("c3=%c c3对应码值=%d\n", c3, c3)

}
对上面代码说明

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

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

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

字符类型使用细节

1)字符常量是用单引号('')括起来的单个字符。例如:var   c1   byte = 'a'  byte =   '9'

2)  Go中允许使用转义字符  '\’来将其后的字符转变为特殊字符型常量。例如:var c3 char   =‘\n’ // '\n'表示换行符  var c2 int = '中'   var   c3

3)  Go语言的字符使用              UTF-8编码 ,如果想查询字符对应的                    utf8 码值http://www.mytju.com/classcode/tools/encode_utf8.asp

英文字母-1个字节汉字-3个字节

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

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

    //可以直接给某个变量赋一个数字,然后按格式化输出时%c,会输出该数字对应的unicode 字符
	var c4 int = 22269 // 22269 -> '国' 120->'x'
	fmt.Printf("c4=%c\n", c4)

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

	//字符类型是可以进行运算的,相当于一个整数,运输时是按照码值运行
	var n1 = 10 + 'a' //  10 + 97 = 107
	fmt.Println("n1=", n1)


字符类型本质探讨

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

      存储:字符--->对应码值---->二进制-->存储

      读取:二进制---->码值   ---->字符    -->读取

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

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

很赞哦! (0)

文章评论

    高端网站建设