Go语言中变量声明与初始化方式多样,提升代码可读性。1. 使用var声明变量可指定类型或省略类型由赋值推断;2. 支持多变量同时声明初始化,可用括号整合;3. 函数内可用:=短变量声明并自动推断类型;4. 未显式初始化的变量赋予零值;5. 示例展示了全局与局部变量的不同声明方式,涵盖基本用法。

在Go语言中,变量的声明与初始化有多种方式,根据上下文灵活使用可以提升代码的可读性和简洁性。下面通过完整示例展示Golang中常见的变量声明与初始化方法。
1. 使用 var 关键字声明变量
这是最基础的变量声明方式,可以只声明类型,也可以同时初始化。
var name type // 声明但不初始化,变量会被赋予零值
var age int // age 的值为 0
立即学习“go语言免费学习笔记(深入)”;
var name string // name 的值为 ""(空字符串)
var isOk bool // isOk 的值为 false
也可以在声明时进行初始化:
var age int = 25
var name string = "Alice"
类型可以省略,由赋值推断:
var count = 10 // 类型自动推断为 int
var msg = "Hello" // 类型自动推断为 string
2. 多变量声明与初始化
使用 var 可以一次性声明多个变量。
var x, y int = 1, 2
var a, b, c = 1, "hello", true // 类型各自推断
也可以用括号组织多个变量声明:
var (
name = "Bob"
age = 30
isStudent bool
)
3. 短变量声明(:=)
在函数内部可以使用 := 快速声明并初始化变量,类型由右侧值自动推断。
func main() {
name := "Charlie"
age := 28
height, weight := 175.5, 70.0
isActive := true
}
注意::= 是声明并初始化,不能用于已声明的变量(除非有新变量引入)。
4. 零值与未显式初始化
如果变量只声明未初始化,Go会自动赋予其类型的零值:
- int → 0
- float64 → 0.0
- string → ""
- bool → false
- 指针 → nil
- struct → 各字段为零值
var s string
fmt.Println(s) // 输出空字符串
5. 完整示例代码
下面是一个包含多种声明方式的完整可运行示例:
package main
import "fmt"
var globalVar = "I'm global"
var (
appVersion = "1.0"
debugMode = true
)
func main() {
var age int = 25
var name = "David"
city := "Beijing"
var isMarried bool // 零值 false
height, weight := 180.0, 75.5
fmt.Printf("Name: %s, Age: %d, City: %s\n", name, age, city)
fmt.Printf("Married: %t, Height: %.1f, Weight: %.1f\n", isMarried, height, weight)
fmt.Println("Global:", globalVar)
fmt.Println("App Version:", appVersion, "Debug:", debugMode)
}
基本上就这些。掌握这些变量声明方式,能让你写出更清晰、高效的Go代码。










