示例
// 字符类型的用法
package main import (
"fmt"
"unsafe"
) func main() {
// 未指定类型并赋值字符'a',默认为 int32类型
var c1 = 'a'
fmt.Printf("c1 的值为 %c, 对应的ascii码值为 %d, 是 %T 类型, 占 %d 个字节\n", c1, c1, c1, unsafe.Sizeof(c1)) // c1 的值为 a, 对应的ascii码值为 97, 是 int32 类型, 占 4 个字节 // byte类型实际上是与uint8相同,取值范围为 0~255
// 可保存的字符的最大码值为 255
// 如果保存的字符在ascii表内,则可直接保存为 byte
var c2 byte = '0'
fmt.Printf("c2 的值为 %c, 对应的ascii码值为 %d, 是 %T 类型, 占 %d 个字节\n", c2, c2, c2, unsafe.Sizeof(c2)) // c2 的值为 0, 对应的ascii码值为 48, 是 uint8 类型, 占 1 个字节 // 如果保存的字符的码值大于255,则可以考虑用int类型保存
var c3 int = '我'
fmt.Printf("c3 用v格式输出为 %v, c3 的值为 %q, 对应的ascii码值为 %d, 是 %T 类型, 占 %d 个字节\n", c3, c3, c3, c3, unsafe.Sizeof(c3)) // c3 用v格式输出为 25105, c3 的值为 '我', 对应的ascii码值为 25105, 是 int 类型, 占 8 个字节 // 整数值可以用%c格式化输出对应的unicode字符
c5 := 22269
fmt.Printf("c5 值为 %d, %v, 对应的unicode字符为 %c, %q\n", c5, c5, c5, c5) // c5 值为 22269, 22269, 对应的unicode字符为 国, '国' // 字符类型的运算
// 实际上是字符对应的码值的运算
c6 := 'a'
c6 += 10
fmt.Printf("c6 的值为 %v, %d\n", c6, c6) // c6 的值为 107, 107 // %#v, %#x, %U, %%, %q, %b, %o, %0, %t, %s
n1 := 100
// %#v 按%v格式输出
fmt.Printf("n1 = %#v\n", n1) // n1 = 100
// %#x 以十六进制格式输出
fmt.Printf("n1 = %#x\n", n1) // n1 = 0x64
// %U 以unicode编码格式输出
fmt.Printf("n1 = %U\n", n1) // n1 = U+0064
// %% 输出 %
fmt.Printf("%%\n") // %
// %q 如果是单个字符或数字(数字会被自动转换成对应的字符)则自动在字符两边加单引号
fmt.Printf("n1 = %q\n", n1) // n1 = 'd'
// %b 以二进制格式输出
fmt.Printf("n1 = %b\n", n1) // n1 = 1100100
// %o 以八进制格式输出,输出结果不带前缀0
fmt.Printf("n1 = %o\n", n1) // n1 = 144
// %O 这里是大写的O,以八进制格式输出,如:0o123, 前面是0+小写的o
fmt.Printf("n1 = %O\n", n1) // n1 = 0o144
// %t 以布尔类型格式输出,两个值 true or false
fmt.Printf("%t\n", true) // true
// %s 以字符串格式输出,
// %q 如果是字符串则自动在字符串两边加双引号,
// 如果是单个字符或数字(数字会被自动转换成对应的字符)则自动在字符两边加单引号
// 注意:在utf8编码中,一个汉字占3个字节
s1 := "我爱你,中国"
fmt.Printf("s1 = %s, %q, 类型为 %T, 占 %d 个字节\n", s1, s1, s1, unsafe.Sizeof(s1)) // s1 = 我爱你,中国, "我爱你,中国", 类型为 string, 占 16 个字节
}
总结

最新文章

  1. 良心版Dolby Home Theater v4.1安装教程
  2. img src 使用 base64 图片数据
  3. windows7修改双系统启动项名称、先后顺序、等待时间
  4. vmware虚拟机上网:NAT搭建局域网
  5. memcached全面剖析–2. 理解memcached的内存存储
  6. SAP CRM 最新简介文字(2007年、中英文)
  7. Node.js权威指南 (7) - 实现基于TCP与UDP的数据通信
  8. windows xp通过VNC viewer远程连接RHEL5桌面
  9. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(4)-业务逻辑层的封装
  10. Spring之SpringMVC的RequestToViewNameTranslator(源码)分析
  11. java 的 try parse
  12. SolrCloud7.4(Jetty容器)+mysql oracle 部署与应用
  13. Lodop打印控件 超文本自动分页
  14. $Django 图片验证刷新 上传头像
  15. 【原创】大数据基础之Flume(2)kudu sink
  16. Python_dict部分功能介绍
  17. (原创)odoo11配置邮件功能的那些事儿
  18. Spring boot结合mybatis开发的报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
  19. 通过cgroup给docker的CPU和内存资源做限制
  20. oracle 获取当前用户下的所有表名与字段信息

热门文章

  1. linux系统安装MongoDB文档
  2. Android作业list
  3. python读取pcap包
  4. git提交代码冲突解决
  5. Ubuntu 服务器Webmin错误的解决
  6. centos7系统中忘记了root管理员账号密码的解决方式(转)
  7. Sass函数:Introspection 函数 -type-of()
  8. [BZOJ5466][NOIP2018]保卫王国 倍增
  9. css 文字对齐
  10. jQuery给css增加!important