您好,登錄后才能下訂單哦!
Go語言
Go(又稱Golang)是Google開發的一種靜態強類型、編譯型、并發型,并具有垃圾回收功能的編程語言。
羅伯特·格瑞史莫(Robert Griesemer),羅勃·派克(Rob Pike)及肯·湯普遜(Ken Thompson)于2007年9月開始設計Go,稍后Ian Lance Taylor、Russ Cox加入項目。Go是基于Inferno操作系統所開發的。Go于2009年11月正式宣布推出,成為開放源代碼項目,并在Linux及Mac OS X平臺上進行了實現,后來追加了Windows系統下的實現。在2016年,Go被軟件評價公司TIOBE 選為“TIOBE 2016 年最佳語言”。 目前,Go每半年發布一個二級版本(即從a.x升級到a.y)。
golang沒有類(class)。
golang中并沒有明確的面向對象的說法,不能算是一種面向對象的語言。因為:
golang只支持封裝,不支持繼承和多態
golang只有struct,沒有class
實在要扯上的話,可以將struct比作其它語言中的class。
類聲明
type Poem struct { Title string Author string intro string }
這樣就聲明了一個類,其中沒有public、protected、private的的聲明。
golang用另外一種做法來實現屬性的訪問權限:屬性的開頭字母是大寫的則在其它包中可以被訪問,否則只能在本包中訪問。類的聲明和方法亦是如此。
類方法聲明
func (poem *Poem) publish() { fmt.Println("poem publish") }
或者
func (poem Poem) publish() { fmt.Println("poem publish") }
和其它語言不一樣,golang聲明方法和普通方法一致,只是在func后增加了poem Poem這樣的聲明。加和沒有加*的區別在于一個是傳遞指針對象,一個是傳遞值對象。
以上就是golang有類(class)嗎?的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。