💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] ## **1. 整型** ### **1.1.整型的分类** 整型按长度分为以下两个大类: | 类型 | 描述 | | --- | --- | | int8 | 有符号 8位整型 (-128 到 127) | | int16 | 有符号 16位整型 (-32768 到 32767) | | int32| 有符号 32位整型 (-2147483648 到 2147483647) | | int64 | 有符号 64位整型 (-9223372036854775808 到 9223372036854775807) | | uint8 | 无符号 8位整型 (0 到 255) | | uint16 | 无符号 16位整型 (0 到 65535) | | uint32| 无符号 32位整型 (0 到 4294967295) | | uint64 | 无符号 64位整型 (0 到 18446744073709551615) | **特殊整型** | 类型 | 描述 | | --- | --- | | uint | 32位操作系统上就是`uint32`,64位操作系统上就是`uint64` | | int | 32位操作系统上就是`int32`,64位操作系统上就是`int64` | | uintptr| 无符号整型,用于存放一个指针 | ### **1.2.几种进制之间的转换** | Go语言中的表示方法 | 进制 | 十进制数 | | --- | --- | --- | | 0b00101101 | 二进制 101101 | 45 | | 0o377 | 八进制 377 | 255 | | 0x1p-2 | 十六进制 1除以2的2次方 | 0. 25 | ## **2.浮点型** `float32` 和`float64`,最大值分别为`math.MaxFloat32` `math.MaxFloat64` `%f` 格式化输出 ``` package main import ( "fmt" "math" ) func main() { fmt.Printf("%f\n", math.Pi) fmt.Printf("%.2f\n", math.Pi) } ``` ## **3.复数** `complex64`和`complex128` 复数有实部和虚部,complex64的实部和虚部为32位,complex128的实部和虚部为64位。 ## **4.布尔值** `true` 和 `false` ## **5.字符串** 转义符 | 转义符 | 含义 | | --- | --- | | \r | 回车符 | | \n | 换行符 | | \t | 制表符 | | \' | 单引号 | | \" | 双引号 | | \\ | 反斜杠 | ### **5.1.多行字符串** 使用`反引号`: ``` s1 := ` 123 456 789 ` fmt.Println(s1) ``` ### **5.2.字符串常用操作** | 方法 | 描述 | | --- | --- | | len(str) | 求长度 | | +或fmt.Sprintf | 拼接字符串 | | strings.Split | 分割 | | strings.contains | 判断是否包含 | | strings.HasPrefix,strings.HasSuffix | 前缀/后缀判断 | | strings.Index(),strings.LastIndex() | 子串出现的位置 | | strings.Join(a\[\]string, sep string) | join操作 | ## **6.字符型** 组成每个字符串的元素叫做“字符”,可以通过遍历或者单个获取字符串元素获得字符。 Go语言的字符有以下两种: 1. `uint8`类型,或者叫 byte 型,代表一个`ASCII码`字符。 2. `rune`类型,代表一个`UTF-8字符`。 ### **6.1.修改字符串** 要修改字符串,需要先将其转换成`[]rune`或`[]byte`,完成后再转换为`string`。无论哪种转换,都会重新分配内存,并复制字节数组。 ## **7.类型转换** Go语言中只有强制类型转换,没有隐式类型转换。 基本语法如下: ``` T(表达式) // T表示转换的类型。 ```