golang的数据类型之字符类型
字符类型使用细节
1)字符常量是用单引号('')括起来的单个字符。例如:var c1 byte = 'a' var c2 int = '中' var c3 byte = '9'
2) Go中允许使用转义字符'\' 来将其后的字符转变为特殊字符型常量。例如: var c3 char = '\n' // '\n' 表示换行符
3)Go语言的字符使用UTF-8编码,如果想查询字符对应的utf8码值可以百度搜索。英文字母--1个字节, 汉字--3个字节
4)在Go中,字符的本质是一个整数,直接输出时,是该字符对应的UTF-8编码的码值。
5)可以直接给某个变量赋一个数字,然后按格式化输出时%c, 会输出该数字对应的Unicode字符
6) 字符类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码
[root@node3 shangxuetang]# cat char.go
package main
import "fmt"
func main() {
var c1 byte = 'a'
var c2 byte = '0' //字符的0
//当我们直接输出byte值,就是输出了对应的字符的码值
fmt.Println("c1 = ", c1)
fmt.Println("c2 = ", c2)
//如果我们希望输出对应字符,需要使用格式化输出
fmt.Printf("c1=%c c2=%c \n", c1, c2)
//var c3 byte = '北' //overflow溢出
var c3 int = '北'
fmt.Printf("c3=%c c3对应码值=%d \n", c3, c3)
//可以直接给某个变量赋一个数字,然后按格式化输出时%c,会输出该数字对应的Unicode 字符
var c4 int = 22269 // 22269 -> '国' 120-> 'x'
fmt.Printf("c4=%c \n", c4)
//字符类型是可以进行运算的,相当于一个整数,运输时是按照码值进行
var n1 = 10 + 'a' //10 + 97 = 107
fmt.Printf("n1=", n1)
}
查看输出结果:
[root@node3 shangxuetang]# go run char.go
c1 = 97
c2 = 48
c1=a c2=0
c3=北 c3对应码值=21271 //(21271是'北' 字的Unicode编码10进制的编码)
c4=国
n1=%!(EXTRA int32=107)
对上面代码说明
1)如果我们保存的字符在 ASCII表的比如[0-1,a-z,A-Z...]直接可以保存到byte
2) 如果我们保存的字符对应码值大于255,这时我们可以考虑使用int类型保存。
3) 如果我们需要安装字符的方式输出,这时我们需要格式化输出,即 fmt.Printf("%c", c1)
golang的数据类型之字符类型的更多相关文章
- Delphi 基本数据类型列表 高级数据类型列表 字符类型查询列表清单
原文:Delphi 基本数据类型列表 高级数据类型列表 字符类型查询列表清单 长长的列表文字类型文件 分类 范围 字节 备注 简单类型 序数 整数 Integer -2147483648 .. 214 ...
- Kotlin 数据类型(字符类型)
Kotlin有两种常见的字符类型. 第一种是String,第二种char. String String 的类型的赋值必须是用双引号的. 格式: var name="Arm830" ...
- golang的数据类型之浮点类型
[root@node3 shangxuetang]# cat float.go package main import "fmt" //演示golang中小数类型使用func ma ...
- golang的数据类型之字符串类型
基本案例: [root@node3 shangxuetang]# cat string.go package main import "fmt" func main() { //s ...
- golang的数据类型之布尔类型
1)布尔类型也叫 bool类型,bool类型数据只允许取值true或false2)bool类型占1个字节.3)bool类型适于逻辑运算,一般用于程序流程控制4)不可以0或非0的整数替代false和tr ...
- 2016年11月3日JS脚本简介数据类型: 1.整型:int 2.小数类型: float(单精度) double(双精度) decimal () 3.字符类型: chr 4.字符串类型:sting 5.日期时间:datetime 6.布尔型数据:bool 7.对象类型:object 8.二进制:binary 语言类型: 1.强类型语言:c++ c c# java 2.弱类型语
数据类型: 1.整型:int 2.小数类型: float(单精度) double(双精度) decimal () 3.字符类型: chr 4.字符串类型:sting 5.日期时间:datetime 6 ...
- Mysql数据类型《二》字符类型
字符类型 #官网:https://dev.mysql.com/doc/refman/5.7/en/char.html #注意:char和varchar括号内的参数指的都是字符的长度 #char类型:定 ...
- golang: 常用数据类型底层结构分析
虽然golang是用C实现的,并且被称为下一代的C语言,但是golang跟C的差别还是很大的.它定义了一套很丰富的数据类型及数据结构,这些类型和结构或者是直接映射为C的数据类型,或者是用C struc ...
- 【GoLang】golang底层数据类型实现原理
虽然golang是用C实现的,并且被称为下一代的C语言,但是golang跟C的差别还是很大的.它定义了一套很丰富的数据类型及数据结构,这些类型和结构或者是直接映射为C的数据类型,或者是用C struc ...
随机推荐
- hdu3664 Permutation Counting(dp)
hdu3664 Permutation Counting 题目传送门 题意: 在一个序列中,如果有k个数满足a[i]>i:那么这个序列的E值为k,问你 在n的全排列中,有多少个排列是恰好是E值为 ...
- 用Fusion Log诊断同一版本冲突问题解决
处理方法,修改注册表 Add the following values to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion Add: DWORD Force ...
- hadoop工作流调度系统
常见工作流调度系统 Oozie, Azkaban, Cascading, Hamake 各种调度工具特性对比 特性 Hamake Oozie Azkaban Cascading 工作流描述语言 XML ...
- IDEA中添加自定义的方法快捷方式
IDEA中快速添加自己自定义的方法方法,想要什么快捷方法都行 作为一个从MyEclipse转IDEA的程序员,原来写main就能补全main方法,写syso就能补全System.out.println ...
- JSTL获取list的大小
转自:https://blog.csdn.net/buster2014/article/details/45789647 JSTL获取list的大小,jstl获取list 的长度,EL表达式获取lis ...
- Solr的学习使用之(二)schema.xml等配置文件的解析
上一篇文章已经讲解了如何部署Solr,部署是部署完了,可是总觉得心里空空的,没底,里面有N多配置文件,比如schema.xml.solrConfig.xml.solr.xml and so on……都 ...
- 【python实例】统计字符串里大写字母,小写字母的个数和非字母的个数
""" 给定一个以下字符串:统计大写字母的个数,小写字母的个数,非字母的个数. str1 = "ajdkkKDKEK1343KFKiriromfkfKKRIOW ...
- boost location-independent times
The class boost::posix_time::ptime defindes a location-independent time. It uses the type boost::gre ...
- python如何在shell命令行执行创建用户命令
- 双十一高并发场景背后的数据库RDS技术揭秘
[战报]11月11日聚石塔(阿里云数据库RDS产品形态)峰值QPS突破X00w,Proxy 峰值QPS超过X00w. 双十一就要来了,全世界都为其疯狂,但是在双十一抢购中经常会出现几万人抢一个红包或者 ...