Go語言【第十篇】:Go資料結構之:指標

來源:互聯網
上載者:User

標籤:返回   應用   聲明   結果   函數調用   使用   printf   ack   電腦   

Go語言指標

Go語言中指標是很容易學習的,Go語言中使用指標可以更簡單的執行一些任務。我們都知道變數是一種使用方便的預留位置,用於引用電腦記憶體位址。Go語言的取地址符是 &,放到一個變數前使用就會返回相應變數的記憶體位址,以下執行個體示範了變數在記憶體中地址:

package mainimoprt "fmt"func main() {    var a int = 10        fmt.Printf("變數的地址:%x\n", &a)}

以上執行個體執行的結果為:

變數的地址: 20818a220

什麼是指標
一個指標變數指向了一個值的記憶體位址,類似於變數和常量,在使用指標前需要聲明指標。指標聲明格式如下:

var var_name *var-type

var-type為指標類型,var_name為指標變數,*用於指定變數是作為一個指標,以下是有效指標聲明:

var ip *int    /* 指向整形 */var fp *float32    /* 指向浮點型 */

如何使用指標

  • 定義指標變數;
  • 為指標變數賦值;
  • 訪問指標變數中指向地址的值;

在指標類型前面加上*號(首碼)來擷取指標所指向的內容。

package mainimport "fmt"func main() {   var a int= 20   /* 聲明實際變數 */   var ip *int        /* 聲明指標變數 */   ip = &a  /* 指標變數的儲存地址 */   fmt.Printf("a 變數的地址是: %x\n", &a  )   /* 指標變數的儲存地址 */   fmt.Printf("ip 變數儲存的指標地址: %x\n", ip )   /* 使用指標訪問值 */   fmt.Printf("*ip 變數的值: %d\n", *ip )}

以上執行個體輸出結果為:

a 變數的地址是: 20818a220ip 變數儲存的指標地址: 20818a220*ip 變數的值: 20

Gonull 指標
當一個指標被定義後沒有分配到任何變數時,它的值為nil。nil指標也稱為空白指標,nil在概念上和其他語言的null、None、nil、NULL一樣,都指代零值或空值。一個指標變數通常縮寫為ptr,如下執行個體代碼所示:

package mainfunc main() {   var  ptr *int   fmt.Printf("ptr 的值為 : %x\n", ptr  )}

以上執行個體輸出結果為:

ptr 的值為 : 0

null 指標判斷:

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

Go指標更多內容
接下來我們將介紹Go語言中更多的指標應用:

內容 描述
Go指標數組 可以定義一個指標數組來儲存地址
Go指向指標的指標 Go支援指向指標的指標
Go向函數傳遞指標參數 通過引用或地址傳參,在函數調用時可以改變其值

Go語言【第十篇】:Go資料結構之:指標

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.