Go 語言指標

2021-09-02 21:53:53 字數 1426 閱讀 6266

[b]什麼是指標[/b]

乙個指標變數指向了乙個值的記憶體位址。 類似於變數和常量,在使用指標前你需要宣告指標。

指標宣告格式如下:

var var_name *var-type

var-type 為指標型別,

var_name 為指標變數名,

* 號用於指定變數是作為乙個指標。

以下是有效的指標宣告:

var ip *int /* 指向整型*/

var fp *float32 /* 指向浮點型 */

[b]如何使用指標[/b]

指標使用流程:

定義指標變數。

為指標變數賦值。

訪問指標變數中指向位址的值。

在指標型別前面加上 * 號(字首)來獲取指標所指向的內容。

package main

import "fmt"

func main()

以上例項執行輸出結果為:

a 變數的位址是: 20818a220

*ip 變數的值: 20

[b]go 空指標[/b]

當乙個指標被定義後沒有分配到任何變數時,它的值為 nil。

nil 指標也稱為空指標。

nil在概念上和其它語言的null、none、nil、null一樣,都指代零值或空值。

乙個指標變數通常縮寫為 ptr。

檢視以下例項:

package main

import "fmt"

func main()

以上例項輸出結果為:

[b]ptr 的值為 : 0[/b]

空指標判斷:

if(ptr != nil) /* ptr 不是空指標 */

if(ptr == nil) /* ptr 是空指標 */

[b]go 語言指標陣列[/b]

package main

import "fmt"

const max int = 3

func main()

var i int

[b] var ptr [max]*int;[/b]

for i = 0; i < max; i++

for i = 0; i < max; i++

}以上**執行輸出結果為:

a[0] = 10

a[1] = 100

a[2] = 200

[b]go 語言指標作為函式引數[/b]

package main

import "fmt"

func main()

func [b]swap(x *int, y *int)[/b]

以上例項允許輸出結果為:

交換前 a 的值 : 100

交換前 b 的值 : 200

交換後 a 的值 : 200

交換後 b 的值 : 100

GO語言指標

以前學習的語言裡沒有指標操作,剛接觸到go語言指標,消化的比較慢,故寫一下。指標型別宣告 t,指標的型別為 t,例 var i int 指標型別的值 t 在等號左邊表示指標宣告var a int 32 p a p的值是指向a的位址在指標前加 獲取指標p指向的值,例 var a int 32 變數宣告...

Go語言指標

鏈客,專為開發者而生,有問必答!接下來讓我們來一步步學習 go 語言指標。我們都知道,變數是一種使用方便的佔位符,用於引用計算機記憶體位址。go 語言的取位址符是 放到乙個變數前使用就會返回相應變數的記憶體位址。package mainimport fmt func main 以上例項執行輸出結果為...

go語言 指標

和c 中指標基本相同 一 指標宣告var ptr float32 宣告乙個指向loat632型別的指標二 指標賦值var a int 2 var fp int a三 空指標 go預設未賦值的指標為空 nil 四 指標陣列即陣列中存放的是每個變數的指標q 下面這兩個例子在目的上有什麼區別嗎?packa...