Golang的基础数据类型-字符型
Golang的基础数据类型-字符型
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.字符型概述
Go语言中的字符有两种,即uint8类型和rune类型。
uint8类型:
我们也可以称之为byte型,代表了ASCII编码表中的一个字符。
ASCII编码表大家可以自行百度,谷歌查找,大致分为三类:0-31(表示控制字符,在键盘上找不到对应的按键,但是可以使用转义字符表示),32-126(键盘上可以找到的所有字符),127(删除键) rune类型:
代表一个UTF-8字符,当需要处理中文,日文,或者其它国家的符合字符时,则需要用到rune类型。 byte类型是uint8的别名,对于只占用1个字节的传统ASCII编码的字符来说,完全没问题。
二.字符型简单应用案例
1>.byte类型(是uint8的别名)
package main
import "fmt"
func main() {
/*
字符(byte)类型是uint8的别名(type为已存在的数据类型起一个别名),在builtin.go文件中可以看到如下的代码:
type byte = uint8
ASCII编码表称为美国信息交换码,其结构大致如下:
0-31:
表示控制字符,在键盘上找不到对应的按键,但是可以使用转义字符表示
32-126:
键盘上可以找到的所有字符
127:
删除(del)键
常见的转义字符如下:
'\n':
换行符,对应ASCII编码表的十进制是10
'\t':
水平制表符,对应ASCII编码表的十进制是9
'\v':
垂直制表符,对应ASCII编码表的十进制是11
'\r':
回车,对应ASCII编码表的十进制是13
'0':
数字字符0对应ASCII编码表的十进制为48
'A':
大写字母字符A对应ASCII编码表的十进制是65
'a':
小写字母字符a对应ASCII编码表的十进制是97
'del':
删除键对应ASCII编码表的十进制是127
*/
var a byte = 'a'
/*
采用uint8数据格式打印,最终输出的是字符'a'在ASCII所对应的十进制数字编码值为97
*/
fmt.Println(a)
/*
%c是一个占位符,表示输出一个字符类型数据。
*/
fmt.Printf("a的类型为:[%T],a的值为:[%c]\n", a, a)
var b = ''
fmt.Println(b)
}

2>.rune类型(是int32的别名)
package main
import "fmt"
func main() {
/*
rune代表一个UTF-8字符(支持中文编码),rune类型是int32的别名,在builtin.go文件中可以看到如下的代码:
type rune = int32
温馨提示:
自动推导类型创建字符默认均是rune;
rune是可以向下兼容byte,毕竟int32的数值范围要比uint8大很多倍。
*/
//自动推导类型创建字符默认是rune类型;
FirstName := '尹'
fmt.Println(FirstName)
fmt.Printf("FirstName的类型为:[%T],FirstName的值为:[%c]\n", FirstName, FirstName)
}

Golang的基础数据类型-字符型的更多相关文章
- Golang的基础数据类型-字符串型
Golang的基础数据类型-字符串型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 上一篇博客学习了使用单引号括起来的单个字符就是字符类型,在Golang中有两种表 ...
- Golang的基础数据类型-整型
Golang的基础数据类型-整型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.整型概述 Go语言的整数类型一共有10个. int: 默认是有符号(signed)整形,占用空间 ...
- Golang的基础数据类型-布尔型
Golang的基础数据类型-布尔型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.bool类型概述 bool类型的取值范围: bool类型的值只有两种,其值不为真即为假,可以用 ...
- Golang的基础数据类型-浮点型
Golang的基础数据类型-浮点型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.浮点型概述 Go语言提供两种精度的浮点数,即float32和float64,其中float32 ...
- [日常] Go语言圣经--作用域,基础数据类型,整型
go语言圣经-作用域 1.一个声明语句将程序中的实体和一个名字关联,比如一个函数或一个变量 2.一个变量的生命周期是指程序运行时变量存在的有效时间段;声明语句的作用域对应的是一个源代码的文本区域,它是 ...
- C语言编程基础学习字符型数据的ASCII码值为何是负数?
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- day01——python初始、变量、常量、注释、基础数据类型、输入、if
python的历史: 04年Django框架诞生了 内存回收机制是什么(面试题) python2:源码不统一,有重复的功能代码 python3:没有重复的功能代码 python是一个什么的编程语言 编 ...
- Python入门 常量 注释 基础数据类型 用户输入 流程控制
Python入门 一.常量 在Python中,不像其他语言有绝对的常量,修改会报错,在Python中有个约定俗成的规定--常量就是将变量名大写. 尽量保持不更改的一种量 , 这个常量有是干什么的呢 其 ...
- java 基础--8 种基本数据类型:整型、浮点型、布尔型、字符型 整型中 byte、short、int、long 的取值范围 什么是浮点型?什么是单精度和双精度?为什么不能用浮点型表示金额?
一.8种基本数据类型(4整,2浮,1符,1布): 整型:byte(最小的数据类型).short(短整型).int(整型).long(长整型): 浮点型:float(浮点型).double(双精度浮点 ...
随机推荐
- C++中函数访问数组的方式
在书写C++代码时,往往为了令代码更加简洁高效.提高代码可读性,会对定义的函数有一些特殊的要求:比如不传递不必要的参数,以此来让函数的参数列表尽可能简短. 当一个函数需要访问一个数组元素时,出于上述原 ...
- 关于eclipse项目右键没有project facets的解决方法遇到的问题
[ 关于eclipse项目右键没有project facets的解决方法] [创建maven项目生成WebRoot目录,web.xml文件,以及修改编译路径classess的解决办法,以及解决找不到或 ...
- C#Winfrom实现Skyline画直线功能
C#Winfrom实现Skyline画直线功能 前言: 这里记录了我在学习Skyline二次开发中所遇到的问题,适合刚接触Skyline二次开发的同学查看使用,从逻辑到代码逐一详解,但是还是重在理解, ...
- 运行cmd直接进入指定目录下的命令
新建一个.bat批处理文件,文件命令为@ECHO OFF cmd /k cd /d c:data 运行该批处理文件cmd就可进入指定的文件夹,感兴趣的朋友可以参考下啊 新建一个.bat批处理文件,文件 ...
- 再论谭浩强《C语言程序设计》
一些同学学不好C语言,把罪责归于“因为教材是谭浩强写的”实在是很滑稽. 谭浩强老先生 1934 年生,现在已经 80 岁了.他 1958 年从清华大学自动控制系毕业,那年 24 岁.要知道 C 语言那 ...
- jqgrid 合并表头
参考:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:groupingheadar jQuery("#表格id").jqGri ...
- IDEA 服务器热部署详解(On Update action/On frame deactivation)
https://blog.csdn.net/w15321271041/article/details/80597962 场景:一般服务器(比如tomcat,jboss等)启动以后,我们还需要进一步修改 ...
- pwn之偏移量offset
0x7fffffffdd00: 0x4141414141414141 0x4141414141414141 0x7fffffffdd10: 0x4141414141414141 0x414141414 ...
- java并发之CopyOnWirteArrayList
java并发之CopyOnWirteArrayList CopyOnWirteArrayList的实现 它用了ReentrantLock保证了add,set,remove操作的安全,同时使用volat ...
- JetBrains IntelliJ IDEA(IJ)v2019.3.3/3.1/3.2/3.4/3.5 for mac/windows/linux 详细安装破解教程
手欠升级了IntelliJ IDEA到2019.3.3,原来的破解不可用,IntelliJ IDEA 2019.3.3破解办法如下,为方便自己使用记录下.======================= ...