A Tour of Go: Basics 1

來源:互聯網
上載者:User

標籤:art   import   turn   括弧   export   precision   star   替換   value   

Packages, variables and functionsPackages

packages中,以大寫字母開頭的name是exported name,當import package時,只有exported name可以被從外部存取。

Functions

同type的連續參數可以只在最後指明type。
函數可以有多個傳回值。

func swap(x, y string) (string, string) {        return y, x}

Go支援有name的傳回值:

  • 函數定義時就定義好返回變數名,在函數內操作返回變數。
  • 用naked return語句返回。
func split(sum int) (x, y int) {        x = sum * 4 / 9        y = sum - x        return}

注意點:文中建議只在短函數中這樣使用,因為長了容易影響可讀性。

Variables

var關鍵字定義變數。
有初始值時可以省略type。
技巧及注意點:

  • 在函數內,可以使用:=符號替換有初始值的變數定義。
  • 但是在函數外,所有語句必須以關鍵字開始,所以不能使用:=符號。
Basic types
boolstringint  int8  int16  int32  int64uint uint8 uint16 uint32 uint64 uintptrbyte // alias for uint8rune // alias for int32        // represents a Unicode code pointfloat32 float64complex64 complex128

技巧:

  • var和import都可以用小括弧聲明多個包或變數。
  • 文中建議,如無特殊需求,使用int就好,不必指明size或sign。

變數定義時,如不指定初始值,則分配對應type的預設值。

  • numeric type: 0
  • bool: false
  • string: ""

運算式T(v)表示將值v轉換成T類型:

var i = 10var f = float64(i)

注意點:與C語言不同,Go必須顯式轉換。

常量定義將var換成const關鍵字即可,不過不能使用:=符號。

疑問
  1. Numeric constants are high-precision values.

A Tour of Go: Basics 1

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.