go語言學習筆記之前言部分

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

前言

1、針對許可權存取修飾詞的規範

     go語言要求public修飾的變數以大寫字母開頭

     以private修飾的變數以小寫字母開頭

     這樣可以直接免除public和private關鍵字

2、花括弧位置規範

     if expression{                                          if expression

        ......                                                       {    ......
      }                                                                          }

     這種是正確的寫法                                       這種是錯誤的寫法

3、go語言的錯誤處理機制優勢,有error類型

4、用go語言模仿繼承時,若充當父類的結構體a與充當子類的結構體b中有相同名稱的屬性v,在b調用a的方法輸出v的值時,列印輸出的會是父類屬性值

     例如下列代碼:

       

package main

 

import "fmt"

 

type Dog struct {

 name string

 

}

 

type BDog struct {

 

    Dog

 

  name string

}

 

func (this *Dog) callMyName() {

 

  fmt.Printf("my name is %q\n", this.getName())

}

func (this *Dog) getName() string {

 

   return this.name

 

}

 

func main() {
 b := new(BDog)

b.name = "this is a BDog name"

 

 b.Dog.name = "this is a Dog name"

 

 b.callMyName()

}
5、go語言介面與類型可以相互轉換,但類型要實現介面的所有方法

type Bird struct {
...
}

func (b *Bird) Fly() {
// 以鳥的方式飛行
}

type IFly interface {
Fly()
}

func main() {
var fly IFly = new(Bird)
fly.Fly()
}

若以後要修改介面中的方法,可以重新定義一個介面來用,這樣可以減少代碼的修改,降低耦合性

 

 


  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.