- Go 教程
- Go - 首頁
- Go - 概述
- Go - 環境設定
- Go - 程式結構
- Go - 基本語法
- Go - 資料型別
- Go - 變數
- Go - 常量
- Go - 運算子
- Go - 決策
- Go - 迴圈
- Go - 函式
- Go - 範圍規則
- Go - 字串
- Go - 陣列
- Go - 指標
- Go - 結構
- Go - 片段
- Go - 範圍
- Go - 對映
- Go - 遞迴
- Go - 型別轉換
- Go - 介面
- Go - 錯誤處理
- Go 有用資源
- Go - 問題和答案
- Go - 快速指南
- Go - 有用資源
- Go - 討論
Go - 指標陣列
在我們理解指標陣列概念之前,讓我們考慮以下示例,它利用了包含 3 個整數的陣列 -
package main
import "fmt"
const MAX int = 3
func main() {
a := []int{10,100,200}
var i int
for i = 0; i < MAX; i++ {
fmt.Printf("Value of a[%d] = %d\n", i, a[i] )
}
}
編譯並執行上述程式碼時,它將產生以下結果 -
Value of a[0] = 10 Value of a[1] = 100 Value of a2] = 200
當我們希望維護一個數組時,此陣列可以儲存指向 int 或 string 或其他任何可用資料型別的指標,可能會出現這種情況。以下語句聲明瞭一個指向整數的指標陣列 -
var ptr [MAX]*int;
這將 ptr 宣告為 MAX 整型指標的陣列。因此,ptr 中的每個元素現在都持有對 int 值的指標。以下示例利用了三個整數,它們將儲存在指標陣列中,如下所示 -
package main
import "fmt"
const MAX int = 3
func main() {
a := []int{10,100,200}
var i int
var ptr [MAX]*int;
for i = 0; i < MAX; i++ {
ptr[i] = &a[i] /* assign the address of integer. */
}
for i = 0; i < MAX; i++ {
fmt.Printf("Value of a[%d] = %d\n", i,*ptr[i] )
}
}
編譯並執行上述程式碼時,它將產生以下結果 -
Value of a[0] = 10 Value of a[1] = 100 Value of a[2] = 200
go_pointers.htm
廣告