08 Go 的變數賦值
阿新 • • 發佈:2020-06-25
上節課我們學習了 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 之後,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 行:修改之後重新列印兩個變數的值。
輸出結果:
3. 小結
本文主要學習了 Go 語言中的賦值辦法,直接在宣告時賦值可以不帶型別,Go 語言會自動根據變數值自動匹配變數型別。但是要注意的是:如果你在宣告變數的同時也標明瞭變數的資料型別,那麼在之後的使用中一定要注意在一開始的時候變數的資料型別。