關於Go指針的介紹
下面由golang教學欄位來介紹Go指針,希望對需要的朋友有幫助!
結合這個範例分析一下
結果:
結合以往C語言的基礎,畫了一張圖來解釋為什麼會有上面這些數值的出現。先看看下Go中的這兩個運算子是啥吧。
①對於所有帶a的結果
var a int = 1 定義了一個變數a值為1,如下圖所示:
&a就是這個存放a變數值的位址
*&a 就是指向&a的一個指針,*&a = a = 1
②所有帶b結果
var b *int = &a
類似C語言的int *b = &a 定一個指向整形變數的指標b,b指向了a的位址
所以:
b = &a = 0xc04203c1d0
&b = 0xc042058018 &b是b這個指標變數的真實位址,就是執行後那個
*&b = *(&b) = b = &a = 0xc04203c1d0
*b = *&a = a = 1
③所有帶c的結果
#如上圖所示:
var c **int = &b
#其實是定義了一個指向整形指標的指標變數
c = &b = 0xc042058018
*c = *&b = b = &a = 0xc04203c1d0
##*c = *&b = b = &a = 0xc04203c1d0
&c 是這個變數的真實位址,這裡顯示的就是運行的結果0xc042068020
##* &c 有經驗可以發現*&直接消掉了= c = 0xc042058018**c咋一看不知道是什麼,其實可以透過換算來進行求值**c = **&b = *b = *&a = a = 1***&*&*&*&*&c 這個可以先消去*& **c = 1# ④關於xx = *b = *&a = a = 1#以上總結一下:##&通過變數取位址* 透過位址取值
&a先得到位址,然後「 * xxx位址」得到該位址處變數的值,即a
*&可以抵銷
以上是關於Go指針的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

OpenSSL,作為廣泛應用於安全通信的開源庫,提供了加密算法、密鑰和證書管理等功能。然而,其歷史版本中存在一些已知安全漏洞,其中一些危害極大。本文將重點介紹Debian系統中OpenSSL的常見漏洞及應對措施。 DebianOpenSSL已知漏洞:OpenSSL曾出現過多個嚴重漏洞,例如:心臟出血漏洞(CVE-2014-0160):該漏洞影響OpenSSL1.0.1至1.0.1f以及1.0.2至1.0.2beta版本。攻擊者可利用此漏洞未經授權讀取服務器上的敏感信息,包括加密密鑰等。

Go語言中用於浮點數運算的庫介紹在Go語言(也稱為Golang)中,進行浮點數的加減乘除運算時,如何確保精度是�...

本文討論了GO中使用表驅動的測試,該方法使用測試用例表來測試具有多個輸入和結果的功能。它突出了諸如提高的可讀性,降低重複,可伸縮性,一致性和A

本文討論了GO的反思軟件包,用於運行時操作代碼,對序列化,通用編程等有益。它警告性能成本,例如較慢的執行和更高的內存使用,建議明智的使用和最佳

本文討論了通過go.mod,涵蓋規範,更新和衝突解決方案管理GO模塊依賴關係。它強調了最佳實踐,例如語義版本控制和定期更新。

Go爬蟲Colly中的Queue線程問題探討在使用Go語言的Colly爬蟲庫時,開發者常常會遇到關於線程和請求隊列的問題。 �...
