
Go语言中的基本数据类型包括数值类型、布尔类型和字符串类型,每种类型在声明未初始化时都有确定的默认值(零值)。了解这些类型及其默认值有助于编写更安全、可预测的代码。
数值类型及默认值
Go的数值类型分为整型、浮点型、复数型和字节类型,它们的默认值均为 0。
- 整型:int、int8、int16、int32、int64、uint、uint8、uint16、uint32、uint64、uintptr。默认值为 0。
- 浮点型:float32、float64。默认值为 0.0。
- 复数型:complex64、complex128。默认值为 0+0i。
- byte 是 uint8 的别名,rune 是 int32 的别名,默认值分别为 0 和 0。
布尔类型(bool)
布尔类型的默认值是 false。无论变量在函数内还是包级别声明,未显式赋值时都为 false。
字符串类型(string)
字符串类型的默认值是空字符串 ""。声明但未赋值的字符串变量表示长度为0的字符串,不是 nil。
立即学习“go语言免费学习笔记(深入)”;
零值总结
Go中所有变量在未初始化时都会被赋予“零值”,这一机制避免了未定义行为。
- 数值类型 → 0
- 布尔类型 → false
- 字符串类型 → ""
例如:
var a int // a = 0var b float64 // b = 0.0
var c bool // c = false
var d string // d = ""
基本上就这些。Go的零值设计让变量初始化更安全,减少了因未初始化导致的运行时错误。










