手册
目录
在 Go 中,存在不同类型的变量,例如:
int - 存储整数(整数值),如 123 或 -123float32 - 存储带有小数的浮点数,如 19.99 或 -19.99string - 存储文本,如 "Hello World"。字符串值被双引号包围bool - 存储两个状态的值:true 或 false关于不同的变量类型,将在 Go 数据类型 一章中为您解释。
在 Go 中,有两种声明变量的方法:
使用 var 关键字,后跟变量名称和类型:
var variablename type = value
注意:您必须始终指定类型或值(或两者都指定)。
使用 := 符号,后跟变量值:
variablename := value
注意:在这种情况下,变量的类型从值中推断出来(这意味着编译器基于值来决定变量的类型)。
注意:不可能只使用 := 声明变量而不为其分配值。
如果从一开始就知道变量的值,您可以在一行中声明变量并为其分配值:
package main
import ("fmt")
func main() {
var student1 string = "Bill" // 类型是字符串
var student2 = "Jane" // 类型可推断
x := 2 // 类型可推断
fmt.Println(student1)
fmt.Println(student2)
fmt.Println(x)
}
注意:student2 和 x 的变量类型可以从它们的值中推断出来。
在 Go 中,所有变量都会被初始化。因此,如果您声明了一个没有初始值的变量,其值将被设置为其类型的默认值:
package main
import ("fmt")
func main() {
var a string
var b int
var c bool
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
在这个例子中有 3 个变量:
abc这些变量已声明,但尚未分配初始值。
通过运行代码,我们可以看到它们已经有了各自类型的默认值:
a 是 ""b 是 0c 是 false可以在声明变量后为其分配值。这对于初始值未知的情况很有帮助。
package main
import ("fmt")
func main() {
var student1 string
student1 = "Bill"
fmt.Println(student1)
}
注意:不可能只使用 := 声明变量而不为其分配值。
var 与 := 之间有一些细微的差别:
| var | := |
|---|---|
| 可以在函数内部和外部使用 | 只能在函数内部使用 |
| 变量声明和赋值可以分开进行 | 变量声明和赋值不能分开进行(必须在同一行完成) |
此例展示了如何在函数外部使用 var 关键字声明变量:
package main
import ("fmt")
var a int
var b int = 2
var c = 3
func main() {
a = 1
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
由于 := 在函数外部使用,因此运行程序会导致错误。
package main
import ("fmt")
a := 1
func main() {
fmt.Println(a)
}
结果:
./prog.go:5:1: 语法错误:非声明语句在函数体外部
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习