golang 字符型
前言
- 不做文字的搬运工,多做灵感性记录
- 这是平时学习总结的地方,用做知识库
- 平时看到其他文章的相关知识,也会增加到这里
- 随着学习深入,会进行知识拆分和汇总,所以文章会随时更新
- 参考的文章过多、很杂很乱,所以参考会写不全,见谅
1. 基本 介绍
Golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用byte来保存。
传统 :字符串就是一串固定长度的字符连接起来的字符序列。
go中:Go的字符串是由单个字节连接起来的
字符串中的每一个元素就是字符,
ASCII编码,只占一个字节,码表使用
2. 声明
var a byte = 'a' //单引号(' ')保存
备注:
1.保存的字符在ASCII表的可以直接保存到byte中,保存的字符对应码值大于255,要用int,否则会溢出
2.直接输出byte值,就是输出对应的字符的码值,//fmt.Print(a)
3.直接输出对应字符,需要格式化输出 %c //fmt.Print("%c",a),参看fmt包
3. 使用细节
go可以使用转义字符’\’来将其后的字符转变为特殊字符型常量。 var a char = ' \n '
Go语言的字符使用UTF-8编码,英文字母一1个字节,汉字一3个字节
字符的本质是一个整数,直接输出,是utf-8码值,是可以进行运算的,因为它都对应有Unicode码.
var n1 = 10 + ' a ' //10+97=107
4. 字符类型的本质
本质是一个整数,直接输出时,是该字符对应的UTF-8编码的码值。
字符型 存储到 计算机 中,需要将 字符 对应的 码值(整数) 找出
储存:字符——>对应码值——>二进制——>储存
读取:二进制——>码值——>字符——>读取
字符和码值的对应关系是通过字符编码表决定的(是规定好)
Go语言的编码都统一成了utf-8。非常的方便,很统一,再也没有编码乱码的困扰了
跳转
golang 字符型的更多相关文章
- Golang的基础数据类型-字符型
Golang的基础数据类型-字符型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 Go语言中的字符有两种,即uint8类型和rune类型. uint8类型: 我们也 ...
- 3.4 Go字符型
1. Go字符型 Golang 中没有专门的字符类型,如果要存储单个字符(字母),一般使用 byte 来保存. 普通字符串就是一串固定长度的字符连接起来的字符序列. Go 的字符串是由单个字节连接起来 ...
- 字符型图片验证码识别完整过程及Python实现
字符型图片验证码识别完整过程及Python实现 1 摘要 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越 ...
- [转]字符型IP地址转换成数字IP的SQL函数
使用SQL函数可以实现许多的功能,下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助. /**//*--调用示例 sele ...
- c++之字符型中的特殊字符回车符
1.字符型的应用之强制类型转换: #include<iostream> using namespace std; int main() { ;i<;i++) { cout<&l ...
- FineReport根据点击次数奇偶性排序之字符型
上一篇文章我们提到了字段为数据型的数据列排序方法,采用的是根据点击次数奇偶性来排序,那如果是字段为字符型,又该如何实现呢? 这里提供的解决思路是通过超级链接来实现升序降序两张模板之间的相互调用,每点击 ...
- (转)C语言16进制输出字符型变量问题
最近在做一个C的嵌入式项目,发现在C语言中用printf()函数打印字符型变量时,如果想采用"%x"的格式将字符型变量值以十六进制形式打印出来,会出现一个小问题,如下: char ...
- 如何为编程爱好者设计一款好玩的智能硬件(九)——LCD1602点阵字符型液晶显示模块驱动封装(下)
六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...
- 如何为编程爱好者设计一款好玩的智能硬件(八)——LCD1602点阵字符型液晶显示模块驱动封装(中)
六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...
随机推荐
- Ethical Hacking - NETWORK PENETRATION TESTING(14)
MITM - ARP Poisoning Theory Man In The Middle Attacks - ARP Poisoning This is one of the most danger ...
- 题解 CF296B 【Yaroslav and Two Strings】
题目 传送门 题目大意 如果两个只包含数字且长度为 \(n\) 的字符串 \(s\) 和 \(w\) 存在两个数字 \(1≤i,j≤n\),使得 \(s_i<w_i,s_j>w_j\) , ...
- layui 魔改:上传时的真实进度条
这个问题本身不复杂,难点在于需要改 layui 的源码. HTML略. 网页的JS域: layui.use(['upload','element','layer'], function(){ var ...
- 【JVM之内存与垃圾回收篇】方法区
方法区 前言 这次所讲述的是运行时数据区的最后一个部分 从线程共享与否的角度来看 ThreadLocal:如何保证多个线程在并发环境下的安全性?典型应用就是数据库连接管理,以及会话管理 栈.堆.方法区 ...
- 【mysql】- 索引使用篇
回顾 每个索引都对应一棵B+树,B+树分为好多层,最下边一层是叶子节点,其余的是内节点.所有用户记录都存储在B+树的叶子节点,所有目录项记录都存储在内节点. InnoDB 存储引擎会自动为主键(如果没 ...
- django-rest-framework-源码解析002-序列化/请求模块/响应模块/异常处理模块/渲染模块/十大接口
简介 当我们使用django-rest-framework框架时, 项目必定是前后端分离的, 那么前后端进行数据交互时, 常见的数据类型就是xml和json(现在主流的是json), 这里就需要我们d ...
- spring学习(四)使用注解代替xml配置
用的是IDEA的maven工程,pom.xml文件导包依赖省略 一.书写要导入容器的实体类 import org.springframework.beans.factory.annotation.Va ...
- MySQL数据管理
3.MySQL数据管理 3.1外键 方式一: create table `grade`( `gradeid` int(10) not null auto_increment comment '年纪 ...
- SOLID:面向对象设计的前五项原则
S.O.L.I.D是Robert C. Martin提出的前五个面向对象设计(OOD)原则的首字母缩写,他更为人所熟知的名字是Uncle Bob. 将这些原理结合在一起,可使程序员轻松开发易于维护 ...
- IDEA中搭建项目环境
ladies and gentlemen,Welcome to my blog! 本文主要在IDEA中搭建项目环境. 有问题和指正,欢迎下方留言~ 1. 使用GitLab将项目下载下来 1.1 选 ...