[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...