將上一篇學到的知識,動手來試試看吧!試著建立一個簡單的 Go 程式,宣告不同類型的變數,並利用指標來操作它們。過程中,可以思考:不同變數類型所佔用的記憶體空間是否相同?指標的運算符 * 有哪些用途?指標和變數之間的關係是什麼?透過這些問題,理解 Go 語言的記憶體管理機制。
1.記憶體位置
(1)第六~七行
var c float64 = 1.414
分別宣告一個整數變數及浮點數變數並賦值。
(2)第九~十行
fmt.Println("記憶體位置:", &b)
先輸出變數 b 的值且不換行,接著使用「&b」取變數 b 的記憶體位址。
透過這個範例了解 Go 語言中變數和記憶體的概念。
2.指標
(1)第九行var bptr *int = &b
宣告了一個指向整型變數的指標變數 bptr,並將 b 的記憶體地址賦值給它。
(2)第十行fmt.Println(*bptr)
輸出 bptr 指向的值。*bptr 運算符用於取指標 bptr 所指向的值,也就是變數 b 的值,因此輸出 6。
Go 語言中指針的基本用法,學習如何使用指標來存儲變數的地址,以及如何反解指標來獲取變數的值。
下一篇預告
將了解 go語言中指標與函數之間的互動關係。