# 数据类型

URL: https://caijiao.org/go/01-go-basic/08-data-types
Source: docs/go/01-go-basic/08-data-types.md
Description: 本节介绍 Go 语言中的基本数据类型，包括整型、浮点型、布尔和字符串，帮助理解如何声明和使用不同类型的数据。

Go 语言是一种强类型语言，提供多种内置基本数据类型，主要包括整型、浮点型、布尔型和字符串类型。

## 1. 整型（Integer）

Go 支持有符号和无符号整型，按大小分为多种类型：

| 类型    | 位数 | 说明                     |
| ------- | ---- | ------------------------ |
| int8    | 8    | 有符号 8 位整数          |
| int16   | 16   | 有符号 16 位整数         |
| int32   | 32   | 有符号 32 位整数         |
| int64   | 64   | 有符号 64 位整数         |
| uint8   | 8    | 无符号 8 位整数（也称 byte）|
| uint16  | 16   | 无符号 16 位整数         |
| uint32  | 32   | 无符号 32 位整数         |
| uint64  | 64   | 无符号 64 位整数         |
| int     | 平台相关 | 有符号整数，32 或 64 位 |
| uint    | 平台相关 | 无符号整数，32 或 64 位 |

示例：

```go
var a int = 100
var b uint8 = 255
````

## 2. 浮点型（Floating Point）

用于表示带小数的数字：

* `float32`：32 位浮点数
* `float64`：64 位浮点数（默认）

示例：

```go
var pi float64 = 3.14159
var e float32 = 2.71828
```

## 3. 布尔型（Boolean）

布尔类型只有两个值：

* `true`
* `false`

示例：

```go
var flag bool = true
```

## 4. 字符串（String）

字符串是不可变的字节序列，使用双引号 `""` 包围。

示例：

```go
var s string = "Hello, Go!"
```

字符串支持拼接：

```go
greeting := "Hello, " + "World!"
```

---

理解和掌握这些基本数据类型，是编写可靠、高效 Go 程序的基础。
