一、基本数据类型
- 布尔型
值: true 或者 false
- 数字类型
整型、浮点型
- 整型
uint8 无符号 8位(0 ~ 2^8)
uint16 无符号 16位(0 ~ 2^15)
uint32 无符号 32位(0 ~ 2^31)
uint64 无符号 64位(0 ~ 2^63)
int8 有符号 8位(-2^7 ~ 2^7-1)
int16 有符号 16位(-2^15 ~ 2^15-1)
int32 有符号 32位(-2^31 ~ 2^31-1)
int64 有符号 64位(-2^63 ~ 2^63-1)
- 浮点型
float32 IEEE-754 32位浮点型数
float64 IEEE-754 64位浮点型数
- 其他
byte uint8别名
rune int32别名
uint32 64位
- 字符串类型
字符串:一串固定长度的字符连接起来的字符序列。
编码: UTF-8
- 派生类
指针类型(Pointer)
数组类型
结构类型(Struct)
Channel类型
函数类型
切片类型
接口类型(interface)
Map类型
二、字符串相关介绍
- 字符串和其余类型转换
string转int: int, err := strconv.Atoi(string)
string转int64: int64, err := strconv.ParseInt(string, 10, 64)
int转string: string := strconv.Itoa(int)
int64转string: string := strconv.FormatInt(int64, 10)
只读的Unicode字节序列,Go语言使用UTF-8格式编码Unicode字符,每个字符对应一个rune类型。英文占1字节,中文占3字节。
使用range迭代字符串时,range迭代的是Unicode而不是字节。返回的两个值,第一个是被迭代字符的UTF-8编码的第一个字节在字符串中的索引,第二个值为对应的字符且类型为rune
const s = "Go语言"
for i, v := range s {
fmt.Printf("%#U : %d\n", v, i)
}
输出:
U+0047 'G': 0
U+006F 'o': 1
U+8BEF '语': 2
U+8A00 '言': 5
网友评论