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)
最新文章
- 深入理解js构造函数
- Junit3断言
- September 17th 2016 Week 38th Saturday
- Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗、嗅探、dns欺骗、session劫持
- hdu 2203 亲和串
- 简单分组背包ACboy needs your help(hdu1712)
- Sudoku Solver [LeetCode]
- Size Classes with Xcode 6
- HTTP错误 404.17
- php install extension
- PHP -- 添加注释
- [C#参考]byte数组和Image的相互转换
- JVM(二)JVM内存布局
- pgsql sql 统计整理
- 深入浅出 JVM GC(4)常用 GC 参数介绍
- 【转】Oracle virtual column(虚拟列)
- 【Java】 剑指offer(28) 对称的二叉树
- 'PostBuildEvent' failed with error code '1' 'Unspecified error'( PostBuildEvent”失败,错误代码为“1”。“未指定的错误” )
- HTC Vive的定位技术
- 【bzoj4296】再见Xor
热门文章
- CodeChef Little Elephant and Balance
- Go语言_包、变量和函数
- javaScript的预加载
- hadoop_hdfs_上传文件报错
- 编译错误:warning C4005]ws2def.h(91): warning C4005: “AF_IPX”: 宏重定义 winsock.h(460) : 参见“AF_IPX”的前一个定义
- Mybatis 单表 常用增删改查
- tmux使用——2019年11月20日16:40:15
- 百度小程序-swiper组件
- 每天一个linux命令:less(14)
- php fmod()函数 语法