> For the complete documentation index, see [llms.txt](https://golang-2.gitbook.io/handbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://golang-2.gitbook.io/handbook/ji-chu/lei-xing/zheng-xing.md).

# 整型

整型表示数字整数，共分为两类：有符号整型和无符号整型

整型在内存中的表示包含两个部分：符号位和数字位

#### 有符号整型

| 类型    | 长度（字节数）           | 值范围                                       |
| ----- | ----------------- | ----------------------------------------- |
| int8  | 1                 | -128 \~127                                |
| int16 | 2                 | -32768\~32767                             |
| int32 | 4                 | -2147483648\~2147483647                   |
| int64 | 8                 | -9223372036854775808\~9223372036854775807 |
| int   | 在32位平台为4，在64位平台为8 | 在32位平台等同于int32，在64位平台等同于int64             |

#### 无符号整型

| 类型      | 长度（字节数）           | 值范围                             |
| ------- | ----------------- | ------------------------------- |
| uint8   | 1                 | 0\~255                          |
| uint16  | 2                 | 0\~65535                        |
| uint32  | 4                 | 0\~4294967295                   |
| uint64  | 8                 | 0\~18446744073709551615         |
| uint    | 在32位平台为4，在64位平台为8 | 在32位平台等同于uint32，在64位平台等同于uint64 |
| uintptr | 同uint             | 同uint                           |

例子：定义整型

```go
var age uint8
age = 18

var income int
income = -1000
```

{% hint style="info" %}
不同类型的整型无法互相赋值，需要做类型转换。其中位数长的类型转换为位数短的类型，或者无符号的类型转换为有符号的类型时，会丢失准确性
{% endhint %}

例子：整型类型转换

```go
var v1 int = 24
var v2 int32
v2 = int32(v1)
```
