欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

GO語言的面向對象詳解-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“GO語言的面向對象詳解”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“GO語言的面向對象詳解”吧!

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比魚峰網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式魚峰網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋魚峰地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

前言

有過C++語言學習經(jīng)歷的朋友都知道,面向對象主要包括了三個基本特征:封裝、繼承和多態(tài)。封裝,就是指運行的數(shù)據(jù)和函數(shù)綁定在一起,C++中主要是通過this指針來完成的;繼承,就是指class之間可以相互繼承屬性和函數(shù);多態(tài),主要就是用統(tǒng)一的接口來處理通用的邏輯,每個class只需要按照接口實現(xiàn)自己的回調(diào)函數(shù)就可以了。

作為集大成者的Go語言,自然不會在面向對象上面無所作為。相比較C++、Java、C#等面向對象語言而言,它的面向對象更簡單,也更容易理解。

go語言中并沒有像C++,Java語言中這類的Class,它只含有像C語言中的結構體,用結構體和指針等特性,完成一個類的作用,很巧妙的使用了指針和結構體,不僅是go的面向對象,包括go語言中的map等操作都是借助了結構體。其實,說白了,C++、Java等面向對象的語言中,類的底層實現(xiàn)就是結構體,對象的引用就是指針,只是語言把他們封裝起來了而已。然而這使得很多人剛接觸面向對象的時候很不理解這些東西。

下面,說所面向對象在go中的寫法:

如果我們要再Java中定義一個Rect,可以求其面積,我們應該這么寫

public class Rect {
 public int x;
 public int y;
 public int Area() {
 return x*y;
 }
}

很簡單,那么Go語言中怎么做呢?Go中并不存在所謂的類,所有的類都是用結構體表示的,所以要寫一個類,我們先得定義一個結構體:

type Rect struct {
 x, y int
}

這是一個Rect的結構體,那么一個類中,不僅要存在變量,還要有成員函數(shù),那么go的成員函數(shù)是這么寫的:

func (r *Rect) Area() int {
 return r.x*r.y
}

這個成員函數(shù)的功能是求面積的,顯然,這個成員函數(shù)值對Rect的結構體適用,這樣就實現(xiàn)了所謂的封裝,那么,我們?nèi)绾稳?chuàng)建并初始化類的實例呢

go語言提供了很多方式:

rect :=new(Rect)
rect :=&Rect{}
rect :=&Rect{1,2}
rect :=&Rect{x:3,y:4}

那么,一遍情況下,如果沒有指定成員變量的大小,go語言會默認初始化成員變量為0,bool類型的為false

那么,構造函數(shù)呢?

我們可以這么來寫:

func NewRect(x,y int) *Rect {
 return &Rect{x,y}
}

其實,這也是我們平時new一個對象時候的真正操作,只是go把他真正展現(xiàn)給我們了。

看到這里,我們似乎還有一個疑問,那就是,像java、C++中對于可見性的描述呢,go語言中不存在public等關鍵字,go語言中直接選擇用字母大小寫控制。

一個變量以大寫字母開頭則表示對其他包可見,如果想要不可見,那么使用小寫字母即可,但是go語言中的可見性控制只是針對包的,并不針對類,也就是,同一個包下的類都是可見的。這個時候我們就可以知道了為什么輸出語句是這樣寫的了吧:

fmt.Println("hello world")

因為此函數(shù)對其他包是可見的。

到此,相信大家對“GO語言的面向對象詳解”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)成都網(wǎng)站設計公司網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)頁標題:GO語言的面向對象詳解-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://chinadenli.net/article46/cosdeg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣用戶體驗動態(tài)網(wǎng)站小程序開發(fā)品牌網(wǎng)站建設電子商務

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化