Go语言语法基础:变量与数据类型详解
在 Go 语言中,变量和数据类型是编写程序的基础组成部分。Go 语言是一种静态类型语言,这意味着变量的类型在编译时确定。下面详细介绍 Go 语言中的变量声明和数据类型。
变量声明
使用 var 关键字声明:
var a int // 声明一个整型变量
var b string // 声明一个字符串变量
var c bool // 声明一个布尔型变量
同时声明多个变量:
var x, y, z int // 同时声明多个整型变量
声明并初始化变量:
var name string = "Go语言"
var age int = 10
var isGoFun bool = true
类型推断:
var city = "Beijing" // Go 自动推断 city 为字符串类型
短变量声明(只能在函数内使用):
total := 100 // := 用于声明并初始化变量
average := 23.5
数据类型
Go 语言支持多种数据类型,主要分为基本类型和复合类型。
基本数据类型
整数类型:
- 有符号整数:
int
,int8
,int16
,int32
,int64
- 无符号整数:
uint
,uint8
(byte
的别名),uint16
,uint32
,uint64
- 特殊类型:
uintptr
(用于指针运算)
- 有符号整数:
浮点数类型:
float32
,float64
复数类型:
complex64
,complex128
布尔类型:
bool
(值可以是true
或false
)
字符串类型:
string
(用于存储字符串)
复合数据类型
数组:同种类型元素的固定长度序列
var arr [5]int // 声明一个长度为5的整数数组
切片:动态数组
var nums []int // 声明一个整数切片
映射(map):键值对集合
var myMap map[string]int // 声明一个键为字符串,值为整数的映射
结构体:聚合数据类型
type Person struct {
Name string
Age int
}
指针:存储变量的内存地址
var ptr *int // 声明一个指向整数的指针
接口:定义方法集的抽象类型
默认零值
Go 语言中的变量在声明时会自动赋予一个默认的零值:
- 整数:
0
- 浮点数:
0.0
- 布尔:
false
- 字符串:
""
(空字符串) - 指针/接口/切片/映射/通道:
nil
小结
理解 Go 语言中的变量和数据类型是掌握这门语言的重要基础。通过合理使用这些类型和数据结构,可以有效地解决复杂的编程问题并实现高效的代码。通过多些实践和例子来加深理解,会帮助你更好地掌握 Go 的语法和特性。