服务端相关 / 08 Go 的变量赋值

Go 语言的赋值

上节课我们学习了 Go 语言中的两种变量声明方式:单变量声明方式和多变量声明方式。既然已经声明了变量,那么下一步肯定要给变量赋值并使用,这节课我们就来学习下在 Go 语言中如何给一个变量赋值:

1. 单变量赋值

Go 语言的赋值使用的是 = 符号,赋值过程可以在变量声明时赋值,也可以在变量声明之后赋值,如果在变量声明时直接赋值,可以不用声明变量类型。需要注意的是 Go 语言变量声明之后会初始化一个"零值",即使不赋值也可以直接使用。我们来通过一个例子来深入了解变量的赋值和"零值"以及声明时赋值:

Tips:变量的数据类型我们会在后面的小节进行深入讲解,这个小节中只是简单了解下。

package main

import "fmt"

func main() {
    var num1 int
    fmt.Println("num1的零值:", num1)
    num1 = 10 // 使用=对num1进行赋值操作
    fmt.Println("num1的值:", num1)
    var num2 = 20 //在声明变量时,使用 = 对num2 进行赋值操作
    fmt.Println("num2的值:", num2)
}
  • 第 6 行:声明了一个名为 num1 的 int 类型变量;
  • 第 7 行:输出变量 num1 的零值;
  • 第 8 行:对 num1 变量重新赋值,使其值变为 10;
  • 第 9 行:打印重新赋值之后的 num1 变量的值;
  • 第 10 行:声明一个名为 num2 的变量,并直接对其赋值为 20;
  • 第 11 行:打印 num2 变量的值。

输出结果:

图片描述

控制台中输出了 num1,num2 的值

从输出的结果可以看出,声明了变量 num1 之后,num1 就已经具有了零值:0,可以直接拿来进行使用而程序并不会报错。之后对 num1 进行赋值,改变了 num1 的值,使其值变为了 10。在声明变量 num2 的时候没有给予 num2 变量类型,就直接赋值了,这个是 Go 语言的特性。Go 语言可以在声明的时候直接不定义类型赋值,其声明的变量类型和赋值的类型一致

2. 多变量赋值

Go 语言中的=符号,不仅仅可以给一个变量赋值,它可以赋值复数的变量,形如变量,变量=变量值,变量值,复数变量和变量值之间使用,隔开。多变量和单变量赋值的使用方法一致。

package main

import (
    "fmt"
)

func main() {
    var num1, num2 = 10, 20 //使用,分割从而进行多变量赋值
    fmt.Println("num1,num2的值:", num1, num2)
    num1, num2 = 30, 40 //使用,分割从而进行多变量赋值
    fmt.Println("num1,num2的值:", num1, num2)
}
  • 第 8 行:声明两个变量 num1 和 num2 并直接给这两个变量分别赋值为 10,20;
  • 第 9 行:打印两个变量的值;
  • 第 10 行:修改两个变量的值为 30,40;
  • 第 11 行:修改之后重新打印两个变量的值。

输出结果:

图片描述

控制台中输出了 num1,num2 的值

3. 小结

本文主要学习了 Go 语言中的赋值办法,直接在声明时赋值可以不带类型,Go 语言会自动根据变量值自动匹配变量类型。但是要注意的是:如果你在声明变量的同时也标明了变量的数据类型,那么在之后的使用中一定要注意在一开始的时候变量的数据类型。