Go语言中变量声明有var和:=两种方式:var用于包级或需显式类型/延迟赋值的场景,支持只声明不赋值;:=仅限函数内,必须初始化且自动推导类型,简洁但不可重复声明同一变量。
在 Go 语言中,定义变量是编写程序的基础操作。Go 提供了两种常用方式:使用 var 关键字显式声明,以及使用短变量声明(:=)快速初始化。它们适用场景不同,理解区别能帮你写出更清晰、更安全的代码。
var 是最基础的变量声明方式,语法清晰,适合需要显式指定类型、或先声明后赋值的场景。
var name type(只声明,不赋值,变量获得该类型的零值)var name type = value 或 var name = value(类型可由编译器推导)注意:c 没有初始化,自动为 false(bool 类型零值)。这种块式声明常用于包级变量或逻辑分组。
:= 是 Go 特有的语法糖,只能在函数内部使用,它同时完成声明和初始化,并自动推导类型。
name := value,等价于 var name = value
x := 会报错):= 不能重复使用(除非是“重新声明”——即部分变量是新声明的,且已有变量类型一致)
nt),z 是新变量var 支持包级变量声明;:= 只能在函数体内用var 可以只声明不赋值(获得零值);:= 必须提供初始值var
:= 更简洁自然:= 声明的变量只在该语句作用域内有效:=(编译错误)