【愚公系列】2022 年 7 月 Go 教学课程 011- 字符串类型
一、数据类型概要
go 语言中有四种数据类型:基础类型,复合类型,引用类型,接口类型。
类型 |名称| 长度| 零值| 说明
-------- | -----| -----| -----| -----
bool |布尔类型| 1 |false |其值不为真即为假,不可以用数字代表 true 或 false
byte |字节型 |1 |0 |uint8 别名
rune |字符类型| 4 |0 |专用于存储 unicode 编码,等价于 uint32
int, uint |整型 |4 或 8| 0| 有符号 32 位或无符号 64 位
int8 |整型| 1 |0 |-128~ 127,
uint8 | 整型 |1 |0 |0~ 255
int16 |整型| 2 |0| -32768 ~ 32767,
uint16| 整型 |2 |0 |0 ~ 65535
int32 |整型| 4 |0| -2147483648 到 2147483647
uint32 |整型 |4 |0 |0 到 4294967295(42 亿)
int64| 整型 |8 |0 |-9223372036854775808 到 9223372036854775807
uint64 |整型| 8 |0 |0 到 18446744073709551615 ( 1844 京)
float32 |浮点型 |4 |0.0| 小数位精确到 7 位
float64 |浮点型| 8 |0.0 |小数位精确到 15 位
complex64 |复数类型| 8 ||
complex128 |复数类型 |16 || 64 位实数和虚数
uintptr |整型| 4 或 8 || 足以存储指针的 uint32 或 uint64 整数
strina | 字符串 || "” |utf-8 字符串
二、字符串类型
在 Go 语言中,字符串是一个不可改变的字节序列,类型为原生数据类型,同 int 、bool、float32、float64 是一样的,字符串的值通过双引号来包裹字符。
主要:虽然看到 str 只包含一个字符,但是隐藏一个字符串结束标志‘%0’。
1.计算字符串的长度
Go 语言内置的 len()函数可以获取切片、字符串、通道(channel) 等的长度。
len()函数返回值为 int 类型,表示字符串的 ASCII 字符的个数或字节长度。
你可能会奇怪,字符串 str2 的长度居然是 15,这是因为 Go 语言的字符串都以 UTF-8 格式保存,每个中文占用 3 个字节,所以 5 ✖️ 3 = 15 个字节。
如果希望按照习惯上的字符个数类计算,可以使用 UTF-8 包提供的 RuneCountInString() 来统计 Uncode 字符数量:
版权声明: 本文为 InfoQ 作者【愚公搬代码】的原创文章。
原文链接:【http://xie.infoq.cn/article/c4f13945a6d8715a857b24a0b】。文章转载请联系作者。
评论