Go开发fmt彻底研究c处理整数
这篇开始记录整数的格式化处理,首先学习下%c格式
可以看到,参数是Unicode编码或字符。我们知道,字符实质是一个整数,如果用Unicode编码,一般指的是UTF-16 。fmt.Printf("%c ","中") //或者 fmt.Printf("%c ",0x4E2D)
两种样式是一样的,本质都是一个数。那么当用%c是如何处理这个整数呢?%c
%c实际调用的是fmtC方法,主要有三个部分:
1
如果整数太大,超出Unicode的编码范围,会将r置为" " 。有关Unicode的编码这里暂时不探讨了,需要知道的是Unicode有一个最大范围为" FFFF",大约111,4111个码点,因此传过去的整数不能大于此值
2
使用utf8.EncodeRune函数将此Unicode转换为utf8,概括说就是UTF-16=>UTF-8 ,这是%c的主要作用 。
3
将转换结果写入buf,下面看pad的操作。pad(b []byte)
1
如果宽度不存在或为0,直接写入
2
宽度- Rune得到需要填充的空白符(数)。从这可以看出,%c强调字符(个数)
3
根据左或右对齐,分别执行填充和写入操作。其中执行了一个writePadding方法,这个在下篇中进行记录,它还有一些问题。%c处理整数总结fmt.Printf("%05.2c ", 0x4E2D) //输出:0000中 //或者 fmt.Printf("%5.0c ", 0x4E2D) //输出: 中%c处理整数,本质是将UTF-16=>UTF-8 %c只关注宽度,精度被忽略 。(根据源码无精度的任何处理)对齐可以填充0或者默认的空格不支持#、+等其它含义的各种标记
太离谱了!媒体曼联球王给小罗纳尔多扎针,乔治娜太幸福了媒体爆料曼联球王C。罗纳尔多为了满足自己的女友乔治娜,他竟然为自己的二弟打针,这也太离谱了,看来乔治娜以后的日子会非常幸福,C。罗纳尔多为了她真够拼的。曝出这个消息的是知名媒体马卡
可随身携带的便携式迷你电脑,任何时间任何地点有屏就能办公现在人们对于电脑的使用频率不断提高,上班族和学生党都需要使用电脑,而且需要的是随时随地使用电脑,面对这样的需求,越来越多的可随身携带的便携式电脑出现了,甚至现在只要有一个小的主机就
综艺极限挑战取景地,景色媲美乌镇,不输西塘,就在贵州就在几天前,综艺极限挑战来到贵州遵义乌江寨录制啦。黄景瑜郭京飞杨超越王迅黄明昊翟潇闻马伯骞等人现身。能让当红明星来此拍摄的乌江寨到底有什么可赏可赞之处呢?今天就给大家介绍这个景色媲
不要再迷信吃啥补啥了不少人,尤其女性认为红枣能补血不少人相信核桃能补脑,所以核桃奶六个核桃之类的饮料才会生产出来。还有人认为吃芝麻能长黑头发,喝骨头汤能补钙等等都是我们生活中,父母常会念叨的养生秘籍,
有哲理性的句子文案1。我宁可做人类中有梦想和有完成梦想的愿望的最渺小的人,而不愿做一个最伟大的无梦想无愿望的人。纪伯伦2。我一直喜欢下午的阳光,它让我相信这个世界任何事情都会有转机,相信命运的宽厚和
当代散文韭菜夹子文王欣明你递上来的馈赠礼物,我笑了。一脸鄙夷的笑,我不加掩饰。唯独在你面前,我可以不设防。你这人,是个偏向虎山行的人。在你的茶舍,你端起扣碗,跟来一眼。不愧为西园驿站主人,看人心思
普希金假如生活欺骗了你,只要活着依然有希望假如生活欺骗了你,不要悲伤,不要心急!郁闷的日子里需要镇静相信吧,快乐的日子将会来临!心儿永远向往着未来现在却常是忧郁。一切都是瞬息,一切都将会过去而那过去了的,就会成为亲切的怀念
小米13手机搭载的MIUI14曝光IT之家7月21日消息,此前小米已经宣布开启安卓13的MIUI新系统测试,而根据爆料人士的说法,小米下一个系统大版本不是MIUI13。5,而是直接上马MIUI14。微博博主数码闲聊
一分钟资讯努比亚三星华为Redmi中兴等,最新消息哈喽,我是毛小毛。关注我,每日带你了解最新数码资讯!一分钟资讯第384篇,感谢你的阅读。努比亚Z40SPro发布昨日下午,努比亚官方正式发布了旗下下半年旗舰手机努比亚Z40SPro
3k档换机首选!Reno8Pro颜值满分,影像方面还有杀手锏年轻人买手机更注重哪些配置?颜值影像还是性能?事实上,年轻人都喜欢追求个性,颜值绝对是第一要素,其次才会看硬件参数。在3K价位,OPPOReno8Pro就是一款非常受年轻人欢迎手机
从2499降至2199元,骁龙8702。5K高刷屏,两千元真香平板随着线上办公与网课的需求暴增,沉寂多年的平板电脑市场,终于迎来了爆发,使得不少手机厂商想入场分一杯羹,这也造就了如今鼎沸的平板电脑市场。今年四月,vivo终于推出了旗下的首款平板电