Go语言的基本类型
-
2025-09-06 19:38:00
-
丁国栋
-
原创
9
Go有哪些基础类型?
在 Go 语言中,基础类型(Basic Types)分为以下几类,包括数值、布尔、字符串和特殊类型。以下是完整分类和示例:
1. 布尔类型(Boolean)
-
bool
取值:true
或 false
示例:
var isDone bool = true
2. 数值类型(Numeric Types)
(1)整数类型(Signed)
类型 |
位数 |
范围 |
int |
平台相关(32或64位) |
取决于系统架构 |
int8 |
8位 |
-128 到 127 |
int16 |
16位 |
-32768 到 32767 |
int32 |
32位 |
-2.1e9 到 2.1e9 |
int64 |
64位 |
-9.2e18 到 9.2e18 |
(2)整数类型(Unsigned)
类型 |
位数 |
范围 |
uint |
平台相关 |
0 到 4.3e9(32位)或 1.8e19(64位) |
uint8 (别名 byte ) |
8位 |
0 到 255 |
uint16 |
16位 |
0 到 65535 |
uint32 |
32位 |
0 到 4.3e9 |
uint64 |
64位 |
0 到 1.8e19 |
uintptr |
平台相关 |
用于存储指针地址 |
(3)浮点数类型
类型 |
位数 |
范围 |
精度 |
float32 |
32位 |
±1.18e-38 到 ±3.4e38 |
6-7位小数 |
float64 |
64位 |
±2.23e-308 到 ±1.8e308 |
15-16位小数 |
(4)复数类型
类型 |
位数 |
说明 |
complex64 |
64位 |
实部和虚部为 float32 |
complex128 |
128位 |
实部和虚部为 float64 |
示例:
var c complex64 = 3 + 4i
3. 字符串类型(String)
4. 字符类型(Rune)
5. 特殊类型
(1)字节类型(Byte)
(2)空值类型
nil
表示指针、切片、映射、通道、接口等的零值。
6. 类型默认值(Zero Value)
类型 |
默认值 |
数值类型(int/float等) |
0 |
bool |
false |
string |
"" (空字符串) |
指针/引用类型 |
nil |
7. 类型转换
Go 要求显式类型转换(不支持隐式转换):
var i int = 42
var f float64 = float64(i) // 必须显式转换
总结表
类别 |
类型示例 |
说明 |
布尔 |
bool |
true /false |
整数 |
int , int8 , uint 等 |
有符号/无符号整型 |
浮点数 |
float32 , float64 |
单精度/双精度浮点数 |
复数 |
complex64 , complex128 |
复数类型 |
字符串 |
string |
UTF-8 编码文本 |
字符 |
rune |
Unicode 码点(int32 ) |
字节 |
byte |
uint8 别名(二进制/ASCII) |
--