Go 变量
在编程中,变量是用于存储数据的容器。以下是在 Go 编程中声明变量的方法。
var number int
这里,
- number - 变量名
var
- 用于声明变量的关键字int
- 与变量关联的数据类型
注意: 在 Go 中,每个变量都有一个与之关联的固定数据类型。数据类型决定了变量可以存储的数据类型。
例如,number 变量只能存储整数数据。这是因为它的类型是 int
。
为 Go 变量赋值
有 3 种为变量赋值的方法。
方法 1
var number int = 10
在这里,我们将整数值 10 赋给了 number 变量。
方法 2
var number = 10
在这里,我们没有显式指定变量的数据类型。在这种情况下,编译器会通过查看变量的值来自动检测类型。
由于值 10 是一个整数,所以 number 的数据类型是 int
。
方法 3
number := 10
在这里,我们使用 :=
运算符将值 10 赋给变量 number。这是为变量赋值的简写形式。
关于 Go 变量的重要说明
1. 如果未为变量赋值,则会为其分配一个默认值。例如,
var count int
fmt.Println(count)
在这里,count 变量打印 0(int
的默认值),因为我们没有为其赋值。
2. 在 Go 中,每个变量都必须有一个关联的数据类型。否则,程序会报错。
// Error: count variable doesn't have a data type
var count
// count1 is of the int type
var count1 int
// count2 is of the int type
var count2 = 10
示例:Go 变量
package main
import "fmt"
func main() {
// explicitly declare the data type
var number1 int = 10
fmt.Println(number1)
// assign a value without declaring the data type
var number2 = 20
fmt.Println(number2)
// shorthand notation to define variable
number3 := 30
fmt.Println(number3)
}
输出
10 20 30
更改变量的值
顾名思义,variable(变量),我们可以更改存储在变量中的值。例如,
// initial value
number := 10
fmt.Println("Initial number value", number) // prints 10
// change variable value
number = 100
fmt.Println("The changed value", number) // prints 100
最初,10 存储在变量中。然后,其值更改为 100。
注意:在 Go 中,我们不能在声明变量后更改变量的类型。
在上面的示例中,number 变量只能存储整数值。它不能用于存储其他类型的数据。例如,
number := 10
// Error code
// assign string data
number = "Hello"
一次创建多个变量
在 Go 中,也可以通过用逗号分隔来一次声明多个变量。例如,
var name, age = "Palistha", 22
在这里,"Palistha" 被赋给了 name 变量。同样,22 被赋给了 age 变量。
上面相同的代码也可以这样写:
name, age := "Palistha", 22
命名变量的规则
- 变量名由字母、数字和下划线组成。
- 变量不能包含其他符号( $、@、# 等)。
- 变量名不能以数字开头。
- 变量名不能是保留字,因为它们是 Go 语法的一部分,例如
int
、type
、for
等。
顺便说一句,我们应该始终尝试给出有意义的变量名。这可以使您的代码更易于阅读和理解。
无效变量 | 糟糕的变量 | 好的变量 |
---|---|---|
1a | a | age |
s@lary | sal | salary |
first name | fn | firstName |
annual-income | annInc | annualIncome |
Go 中的常量
常量是已声明后不能更改的固定值。在 Go 中,我们使用 const
关键字创建常量变量。例如,
const lightSpeed = 299792458 // initial value
// Error! Constants cannot be changed
lightSpeed = 299792460
顺便说一句,我们不能使用简写形式 :=
来创建常量。例如,
// Error code
const lightSpeed := 299792458