91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

go語言中引用和指針有什么區別

發布時間:2020-06-10 18:01:32 來源:億速云 閱讀:1768 作者:鴿子 欄目:編程語言

包括 C、C++ 在內的一些語言支持指針。其他語言包括 C++、Java、Python、Ruby、Perl 和 PHP 都支持引用。從表面上看,引用和指針非常相似,它們都用來讓一個變量提供對另一個變量的訪問。

由于兩者都提供了許多相同的功能,所以常常不清楚它們各自的內部機制有什么不同。在本文中,我將說明指針和引用之間的區別。

為什么這很重要

指針是 Go 語言的核心。大多數程序員都是在上面提到的一種語言的基礎上學習 Go 的。因此,理解指針和引用之間的區別對于理解 Go 至關重要。

即使你使用過具有指針的語言,Go 對指針的實現也不同于 C 和 C++,因為它保留了引用的一些優秀屬性,同時保留了指針的功能。

本文的其余部分旨在廣泛地討論引用的概念,而不是具體的實現。我們將使用 Go 作為指針的參考實現。

有什么不同?

指針變量存儲的是另一個變量的地址。

引用變量指向另外一個變量。

為證明我們的觀點,用 C++ 舉個例子,它同時支持指針和引用。

int i = 3;2int *ptr = &i;3int &ref = i;

第一行定義了變量 i;第 2 行定義了一個指向變量 i 內存地址的指針 ptr;第 3 行定義了一個指向變量 i 的引用 ref。

不僅操作符不同,而且使用的方法也不同。對于指針,必須使用 * 操作符來解引用。對于引用,不需要任何操作符。據了解,你傾向于使用引用的變量。

繼續我們的示例,下面兩行代碼都將把 i 的值更改為13。

ptr = 13;
ref = 13;

你可能會問,如果我嘗試直接訪問變量 ptr 而不使用解引用。這就引出了指針和引用之間的第二個關鍵區別。指針可以重分配,而引用不能。換句話說,指針可以被分配另一個不同的地址。

以上就是golang 引用和指針的區別的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

成武县| 汨罗市| 隆尧县| 滦南县| 景德镇市| 临澧县| 杭锦后旗| 黑河市| 外汇| 安化县| 五台县| 昂仁县| 湖南省| 漯河市| 正定县| 年辖:市辖区| 玉田县| 贵州省| 都兰县| 武城县| 宜良县| 三都| 大田县| 象州县| 庆阳市| 乌什县| 南涧| 隆德县| 革吉县| 阳东县| 花垣县| 监利县| 南和县| 贵定县| 临海市| 岢岚县| 沅江市| 丰原市| 涡阳县| 布尔津县| 化州市|