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

溫馨提示×

溫馨提示×

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

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

Go語言的類相關知識點有哪些

發布時間:2021-11-19 09:19:22 來源:億速云 閱讀:152 作者:iii 欄目:大數據

本篇內容主要講解“Go語言的類相關知識點有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Go語言的類相關知識點有哪些”吧!

一、公私有屬性

1.C++中的公私有屬性,一定要有關鍵字public, protected, private來修飾。

并且這些屬性的作用范圍是針對類來說的,不是針對類的實例來說的,是編譯階段的概念。

詳細介紹參見我的另外一篇文章:private在C++中的范圍

2.Go中也有公私有的概念,不過沒有protected,它區分公有,還是私有,是通過變量的第一個字母的大小寫。大寫表示的是公有,小寫是私有。

不過這里的作用范圍不是整個struct內部,而是整個包,公有跨包可以調用,私有不行,當然也是編譯階段的概念。

二、構造函數和析構函數

1.C++的構造函數和析構函數基本上是標配,分別用于初始化數據和釋放數據。

當然構造函數和析構函數,在C++中被編譯器單獨處理,因為這兩種函數與其他函數不同,沒有返回值,會被自動調用。

2.Go中,并沒有構造函數和析構函數的概念,這和Go語言的內存回收機制有關系。

對于析構函數,Go提供了defer的關鍵字,它只要在函數內部實現,等到函數運行結束時便會被自動調用。defer有點像析構函數,但是卻不是,因為它的作用范圍是函數級別。(后續會整理defer )

當然Go也可以采取其他手段模擬構造函數和析構函數,不過筆者覺得最好不這么做,既然Go特意這么設計,就不希望如此實現。

三、繼承

1.C++中,繼承很重要,一個目的是復用基類的數據和方法,一個目的是實現多態,是Is-a的關系。

2.Go中,準確的說不存在繼承,不過對于復用基類的數據和方法,可以采用組合的方式,如此以來的實現,其實和C++的繼承很像。

對于C++中多態的方式,Go中的interface的實現比較類似,在這里不做過多闡述。(后續會單獨整理這一部分。)

四、函數重載

1.C++中支持函數重載,也就是函數名字相同,但是參數不同,這樣C++的編譯器會把它們當做不同的函數來實現。

2.Go中沒有函數重載的概念,卻又可變參的函數支持,這從根本上解決了函數重載的功能。

到此,相信大家對“Go語言的類相關知識點有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

c++
AI

丰城市| 靖宇县| 屯昌县| 西乡县| 中卫市| 曲阳县| 桦甸市| 和林格尔县| 阿瓦提县| 云和县| 瓦房店市| 桓仁| 营山县| 庆安县| 伊吾县| 郑州市| 前郭尔| 诸城市| 沧州市| 上饶市| 孝昌县| 迭部县| 黄浦区| 四会市| 宽甸| 大同县| 平泉县| 平和县| 界首市| 龙山县| 海丰县| 都匀市| 胶州市| 宝山区| 三河市| 奎屯市| 大理市| 富裕县| 腾冲县| 福鼎市| 长宁县|