亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

晋江市| 乌兰察布市| 开化县| 天全县| 达孜县| 镇雄县| 襄城县| 凌海市| 凭祥市| 碌曲县| 辉南县| 抚州市| 色达县| 崇信县| 西乌珠穆沁旗| 阳东县| 天祝| 衡南县| 阿拉尔市| 辽源市| 河西区| 互助| 绥宁县| 汉川市| 沁阳市| 东丰县| 西吉县| 嵩明县| 桃江县| 宁武县| 庆城县| 北流市| 法库县| 娄底市| 嘉义市| 微山县| 玉田县| 永新县| 元氏县| 泉州市| 禹城市|