网站建设和管理什么意思,个人简历模板在线编辑免费,外贸整合营销推广,关于做情侣的网站的图片大全文章目录 基本语法功能特点与var的区别适用场景注意事项 在 Go 语言中#xff0c;短变量声明#xff08;Short Variable Declaration#xff09; 是一种简洁的变量声明方式#xff0c;使用 : 运算符#xff0c;可以自动推断变量类型。 基本语法
variableName : value功能… 文章目录 基本语法功能特点与var的区别适用场景注意事项 在 Go 语言中短变量声明Short Variable Declaration 是一种简洁的变量声明方式使用 : 运算符可以自动推断变量类型。 基本语法
variableName : value功能特点
1、自动类型推断编译器会根据右侧的值自动推断变量类型。
x : 42 // int
y : hello // string
z : 3.14 // float642、只能用于局部变量只能在函数或方法内部使用不能在全局包级别使用。 3、可以同时声明多个变量。
a, b : 1, two4、至少声明一个新变量在 : 左侧的变量中至少有一个必须是新变量未声明过的否则会报错。
x : 10
x, y : 20, 30 // 正确因为 y 是新变量
x, y : 40, 50 // 错误no new variables on left side of :与var的区别
特性:短变量声明var 声明作用域仅限函数内部全局或局部均可类型推断可自动推断可自动推断显式类型声明不可指定可指定var x int 10多变量声明支持a, b : 1, 2支持var a, b 1, 2重新声明限制至少一个新变量不能重复声明同一作用域
适用场景
1、函数内部快速声明变量
func main() {name : Alice // 自动推断为 stringage : 30 // 自动推断为 intfmt.Println(name, age)
}2、多返回值函数的接收
func getData() (int, string) {return 100, OK
}func main() {code, msg : getData() // 自动推断 code(int), msg(string)fmt.Println(code, msg)
}3、if、for 等语句中的临时变量
if n : 10; n 5 {fmt.Println(n is greater than 5)
}注意事项
1、不能在全局使用
package mainx : 10 // ❌ 错误syntax error: non-declaration statement outside function bodyfunc main() {y : 20 // ✅ 正确
}2、不能用于已声明的变量除非至少一个新变量
func main() {a : 10a : 20 // ❌ 错误no new variables on left side of :a, b : 20, 30 // ✅ 正确因为 b 是新变量
}3、类型一旦确定不能更改
x : 10
x hello // ❌ 错误cannot use hello (untyped string constant) as int value