go语言学习笔记 — 基础 — 基本数据类型 — 字符串:字符
Posted Locutus
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言学习笔记 — 基础 — 基本数据类型 — 字符串:字符相关的知识,希望对你有一定的参考价值。
Go语言的字符有以下两种:
- uint8类型,或者叫byte类型,代表了ASCII码的一个字符
- rune类型,代表一个UTF-8字符。当需要处理中文、日文或者其他复合字符时,则需要用到rune类型。rune类型实际是一个int32整数
格式化输出的"%T"动词可以输出变量的实际类型,使用这个方法可 以查看byte和rune的本来类型。
package main
import (
"fmt"
)
func main() {
var a byte = "a"
fmt.Printf("%d %T\\n", a, a)
var b rune = "你"
fmt.Printf("%d %T\\n", b, b)
}
/*
97 uint8,byte类型的a变量,实际类型是uint8,其值为a,对应的 ASCII编码是97
20320 int32,rune类型的b变量,实际类型是int32,其值是你,对应的Unicode码是20320
*/
Unicode与UTF-8
在go语言中,字符串的内部实现使用UTF-8编码。通过rune类型, 我们可以方便地对每个UTF-8字符进行访问。当然,go语言也支持按传统的ASCii码方式进行逐字符访问。
- Unicode是字符集,ASCII也是一种字符集
1)Unicode是一种字符集(code point,字符编码)
2)UTF-8是Unicode的存储实现,即把Unicode中字符的ID转换为字节序列的编码规则
3)编码与存储
以上是关于go语言学习笔记 — 基础 — 基本数据类型 — 字符串:字符的主要内容,如果未能解决你的问题,请参考以下文章
go语言学习笔记 — 基础 — 基本数据类型 — 字符串:字符
go语言学习笔记 — 基础 — 基本数据类型 — 原生数据类型:布尔型数字类型(整型与浮点型)字符串类型
go语言学习笔记 — 基础 — 基本数据类型 — 字符串(11):go中的字符串
go语言学习笔记 — 基础 — 基本数据类型 — 类型类别:值类型和引用类型