在Go语言中如何使用变量

1. 变量

        Go 中的变量是标识符。例如,我们可能需要存储客户的电子邮件地址,但还需要确保它是有效的。这种情况下,可以创建一个名为 email 的变量来存储电子邮件的值。电子邮件地址可以分配给 email 变量。

        变量引用一个内存地址,赋值给变量的实标值存储在该地址中。当编译器需要变量的值时,它使用命名的内存地址来获取它。

        创建变量时,必须包含变量的类型,可以显式定义变量的类型,也可以当在同一条语句中为变量赋值时指定可识别的类型。创建变量的基本语法如下所示。

var identifier type [= value]

        变量名即这里的 identifier 。对于电子邮件地址,我们使用 email 作为标识符。type 表示要存储的信息的类型,可以是数字、字母或其他值。例如,要创建一个可以存储简单整数的变量,可以按如下所示声明。

var myNumber int

        这段代码创建一个名为 myNumber 的变量并将其类型设置为 int ,用于存储基本的整数。

除了设置变量的类型,还可以在同一条语句中赋值。例如,下面的代码再次声明变量 myNumber,并将其设置为 42 。

var myNumber int = 42

        还可以在程序后面的单独语句中赋值(或改变它的值)。声明 myNumber 后,可以通过简单地赋值来改变它的值。

myNumber = 84

下面代码展示了一个完整的代码清单,它创建了一个变量,存储字符串“Hello World”。

package main

import "fmt"

func main() {
	var message string = "Hello World!"
	fmt.Println(message)
}

在这个代码清单中,可以看到一个变量被声明为标识符(名称为message)。

此外,可以看到这个变量被赋值为等号之后的字符串值(“Hello World!)。然后可以设置打印变量的内容,就像下一行代码使用 fmt.Println 所做的那样。程序运行结果如下所示:

Hello World!

1.1 命名变量

        因为变量是标识符,所以它们遵循与 Go 中标识符相同的命名约定。也就是说,变量名以字母或下画线开头,然后是一系列字母、数字或下画线。下面代码展示了一个无效变量定义的例子。

package main

import "fmt"

func main(){
	var 0_email string = "alice@daolian.io"
	
	fmt.Println(0_email)
}

        在这个代码清单中,可以看到变量0_email 被声明为 string 类型。它被赋值为 alice@daolian.io。运行这个代码时,编译器会针对标识符 0_email 产生如下语法错误。

syntax error: unexpected literal 0_e, expected name

        这个变量名无效,因为标识符必须以字母或下画线开头。

1.2 声明和初始化变量

        Go 中的变量必须具有类型,该类型表示将存储的信息的类型。更重要的是,类型定义了在变量中存储数据所需的内存量。

        1.声明和初始化一个变量

package main

import "fmt"

func main() {

	var message string

	message = "Hello World!"

	fmt.Println(message)
}

        该代码清单并没有在创建标识符的同时给它赋值,而是分两步完成这个过程。可以看到,第一步中,变量 message 被创建为字符串,然后在第二步中,将变量赋值为 "Hello World!"。每一个步骤都是作为单独的语句完成的。

        2. 声明多个变量

可以通过简单地为每个变量创建一条语句来定义多个变量。

var message string
var email   string

 此外,还可以在同一条语句中定义多个同类型的变量

package main

import "fmt"

func main() {
	var message, email string
	message = "Hello World!"
	email = "alice@daolian.io"

	fmt.Println(message)
	fmt.Println(email)
}

        在这个代码清单中,在同一行中将 message 和 email 声明为字符串类型变量。要在同一行中声明多个变量,可以用逗号分隔它们。声明这两个变量后,代码清单继续为它们赋值。然后打印它们的内容。该程序运行结果如下:

Hello World!
alice@daolian.io

3. 声明和初始化多个变量

        还可以初始化多个同类型的变量并在同一条语句中为每个变量赋值,如下面代码所示:

package main

import "fmt"

func main() {
	var message, email string = "Hello,World!", "alice@daolian.io"

	fmt.Println(message)
	fmt.Println(email)
}

        在这段代码中,变量 message 和 email 是在声明它们的同一行语句中初始化的。等号右边列出了用于初始化变量的值。值是从左到右赋值的,因此第一个字符串 “Hello,World! ” 被赋给左边的第一个变量 message 。第二个字符串“alice@daolian.io”被赋给第二个变量 email。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mindfulness code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值