中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

普安县| 桐乡市| 沾益县| 荃湾区| 延寿县| 德州市| 安吉县| 抚顺县| 余江县| 甘南县| 台东县| 红桥区| 赫章县| 雷州市| 江都市| 读书| 儋州市| 团风县| 桦南县| 甘德县| 绥宁县| 神木县| 南京市| 新和县| 台北县| 南开区| 微山县| 高唐县| 元氏县| 日喀则市| 乐都县| 玛多县| 保德县| 澄江县| 民勤县| 花莲县| 延寿县| 柘荣县| 金堂县| 明水县| 临沂市|