Go 变量和常量

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 变量打印 0int 的默认值),因为我们没有为其赋值。

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 语法的一部分,例如 inttypefor 等。

顺便说一句,我们应该始终尝试给出有意义的变量名。这可以使您的代码更易于阅读和理解。

无效变量 糟糕的变量 好的变量
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
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战