Go 語言理解

面向對象,是軟件工程中的重要思想。咱們入手一門新的編程語言,須要先了解它的基本語法,而後就是如何面向對象編程。java

Go 基礎知識

Go 是一門強類型語言,具備併發、安全等優點。git

函數

函數是按值傳遞,這一點很重要github

如下是一個函數的簡單定義。golang

func speak(name string) string {
    return name;
}

結構體

下面是一個結構體的示例編程

type Man struct {
    // 內部可見
    age uint8
    // 公開可見
    Name string
}

Go 裏面的結構體,能夠當作是其餘編程域名中的類,可是它只有屬性,沒有方法。安全

接口

同 java 的接口同樣,都是抽象方法的集合併發

type HumanBehavior interface {
    Speak() string
}

方法

func (this *Man) Speak() string {
    return this.name
}

(this *Man)是要綁定的結構體,這裏傳入指針類型,能夠修改變量自身內容。編程語言

receiver 是 pointer or value。函數

正常都是須要設置receiver爲指針類型,這樣才符合咱們面向對象編程的習慣和用法。ui

面向對象

介紹完上面的內容,下面咱們說明下Go語言中的面向對象是怎樣的

封裝

大寫開頭的屬性和方法能夠被包外部訪問,小寫則不能被訪問

繼承

繼承結構體中的屬性和方法

重寫/重載

能夠重寫,但不能重載

多態

不一樣的實例,執行同一個方法,會有不一樣的表現。

實現多態的條件是:

  • 繼承
  • 重寫

參考文檔

相關文章
相關標籤/搜索