基本数据类型
1.基本数据类型
01.内置类型
1.1 值类型:
1.2 引用类型:(指针类型)
02.内置函数
- Go 语言拥有一些不需要进行导入操作就可以使用的内置函数。
- 它们有时可以针对不同的类型进行操作,例如:len、cap 和 append,或必须用于系统级的操作,例如:panic。
- 因此,它们需要直接获得编译器的支持。
03.基本类型介绍
类型 | 长度(字节) | 默认值 | 说明 |
---|---|---|---|
bool | 1 | false | |
byte | 1 | 0 | uint8 |
rune | 4 | 0 | Unicode Code Point, int32 |
int, uint | 4或8 | 0 | 32 或 64 位 |
int8, uint8 | 1 | 0 | -128 ~ 127, 0 ~ 255,byte是uint8 的别名 |
int16, uint16 | 2 | 0 | -32768 ~ 32767, 0 ~ 65535 |
int32, uint32 | 4 | 0 | -21亿~ 21亿, 0 ~ 42亿,rune是int32 的别名 |
int64, uint64 | 8 | 0 | |
float32 | 4 | 0.0 | |
float64 | 8 | 0.0 | |
complex64 | 8 | xxxxxxxxxx package mainimport “fmt”func main() { var intArr = […]int{1, -1, 112, 65, 11} maxValue := intArr[0] maxIndex := 0 for i := 0; i < len(intArr); i++ { if maxValue < intArr[i] { maxValue = intArr[i] maxIndex = i } } fmt.Println(“最大值”, maxValue, “最大值索引值”, maxIndex) // 最大值 112 最大值索引值 2}go | |
complex128 | 16 | ||
uintptr | 4或8 | 以存储指针的 uint32 或 uint64 整数 | |
array | 值类型 | ||
struct | 值类型 | ||
string | “” | UTF-8 字符串 | |
slice | nil | 引用类型 | |
map | nil | 引用类型 | |
channel | nil | 引用类型 | |
interface | nil | 接口 | |
function | nil | 函数 |
04.数字类型
4.1 Golang数据类型介绍
- Go 语言中数据类型分为:基本数据类型和复合数据类型
- 基本数据类型有:
- 整型、浮点型、布尔型、字符串
- 复合数据类型有:
- 数组、切片、结构体、函数、map、通道(channel)、接口
4.2 整型分为两大类
- 有符号整形按长度分为:int8、int16、int32、int64
- 对应的无符号整型:uint8、uint16、uint32、uint64
- 关于字节:
- 字节也叫 Byte,是计算机数据的基本存储单位。8bit(位)=1Byte(字节) 1024Byte(字节)=1KB
- 1024KB=1MB 1024MB=1GB
- 1024GB=1TB 。在电脑里一个中文字是占两个字节的。
4.3 unsafe.Sizeof
- unsafe.Sizeof(n1) 是 unsafe 包的一个函数,可以返回 n1 变量占用的字节数
4.4 int不同长度直接的转换
4.5 浮点型
- Go 语言支持两种浮点型数:float32 和 float64
4.6 reflect.TypeOf查看数据类型
4.7 int常用转换
4.8 int8转int16
4.9 int16转float32
4.10 math.Sqrt强转
4.11 int与str转换
4.12 str与int64转换
05.布尔值
- Go 语言中以 bool 类型进行声明布尔型数据,布尔型数据只有 true(真)和 false(假)两个值。
- 注意:
- 1.布尔类型变量的默认值为 false。
- 2.Go 语言中不允许将整型强制转换为布尔型.
- 3.布尔型无法参与数值运算,也无法与其他类型进行转换。
06.字符串
6.1 字符串
- Go 语言里的字符串的内部实现使用 UTF-8 编码。
- 字符串的值为双引号(“)中的内容,可以在 Go 语言的源码中直接添加非 ASCII 码字符
6.2 字符串转义符
- Go 语言的字符串常见转义符包含回车、换行、单双引号、制表符等
6.3 多行字符串
- 反引号间换行将被作为字符串中的换行,但是所有的转义字符均无效,文本将会原样输出。
6.4 byte和rune
- Go 语言的字符有以下两种
- 字符串底层是一个byte数组,所以可以和[]byte类型相互转换。
- 字符串是不能修改的 字符串是由byte字节组成,所以字符串的长度是byte字节的长度。
- rune类型用来表示utf8字符,一个rune字符由一个或多个byte组成。
07.字符串的常用操作
方法 | 介绍 |
---|---|
len(str) | 求长度 |
+或fmt.Sprintf | 拼接字符串 |
strings.Split | 分割 |
strings.Contains | 判断是否包含 |
strings.HasPrefix,strings.HasSuffix | 前缀/后缀判断 |
strings.Index(),strings.LastIndex() | 子串出现的位置 |
strings.Join(a[]string, sep string) | join操作 |
7.1 len(str)
7.2 +(拼接)
7.3 strings.Split()
7.4 strings.HasPrefix()
- 首字符尾字母包含指定字符
7.5 strings.Index()
- 判断字符串出现的位置
7.6 strings.Join()
7.7 单引号
- 组成每个字符串的元素叫做“字符”,可以通过遍历字符串元素获得字符,字符用单引号(’)
- uint8 类型,或者叫 byte 型,代表了 ASCII 码的一个字符
- rune 类型,代表一个 UTF-8 字符
08.字符串遍历
8.1 遍历字符串
8.2 修改字符串
- 要修改字符串,需要先将其转换成[]rune 或[]byte,完成后再转换为 string。
- 无论哪种转换,都会重新分配内存,并复制字节数组。
- 将“美国第一”改成“中国第一”
09.转String
9.1 sprintf转string
- 注意:sprintf 使用中需要注意转换的格式
- int 为%d
- float 为%f
- bool 为%t
- byte 为%c
9.2 strconv
10.String转其他
10.1 string转int
10.2 string转float
10.3 string转bool
10.4 string转字符
10.5 字符串反转
基本数据类型
http://coderedeng.github.io/2021/01/07/1.基本数据类型/