golang學習筆記

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

golang學習筆記

基本文法

關鍵字(key word) && 變數

  • 關鍵字
    golang僅有25個關鍵字,如下:

    var     import    type    return    constif      else      for     range     breakselect  default   goto    switch    fallthroughfunc    interface case    chan      continuedefer   go        map     struct    package   
  • 變數聲明&&初始化&&賦值
    golang變數聲明方式與C/C++系語言有明顯不同,對於golang這種聲明方式知乎上有討論為什麼 Go 語言把類型放在後面?。
    golang引入var關鍵字,類型資訊放在變數名之後。
    ```go
    var n int // 定義一個int變數
    var f float32
    var str string // 定義一個string變數
    var arr [10]int // 數組
    var m map[int]int // map
    var p *int // pointer

var n int = 10 //定義並初始化
var n = 10
n := 10 // 效果樣,可以自動推到n類型

n = 100 // 賦值
n2 := n // 定義並初始化

// ……

由上面樣本可以看出,golang語句不需要分號作結束符,而且定義一個變數是被初始化的一般預設值是`0`,而指標是`nil`,`string`是`""`。

package main

import "fmt"

func main() {
var n int
fmt.Println("int: ", n)
var f float32
fmt.Println("float: ", f)
var str string
fmt.Println("string: ", str)
var arr [10]int
fmt.Printf("array: ")
for i := 0; i < len(arr); i++ {
fmt.Printf("%d ", arr[i])
}
fmt.Println()
var p int
fmt.Println("
int: ", p)
}
/
output:
int: 0
float: 0
string:
array: 0 0 0 0 0 0 0 0 0 0
int:
*/
```

類型(type)

golang中內建基礎類型

  • boolean
  • int8、byte、int16、int、uint、uintptr
  • float32、float64
  • complex64、complex128
  • string
  • rune
  • error

複合類型

  • 數組(array)
  • 字典(map)
  • 切片(slice)
  • 結構體(struct)
  • 通道(chan)
  • 介面(interface)
  • 指標(pointer)
  • 引用(reference)

流程式控制制(flow control)

  • 條件陳述式
    if else
  • 選擇語句
    switch case select
  • 迴圈語句
    for range
  • 跳躍陳述式
    goto

函數(function) && 包(package)

  • 函數定義
    ```go
    func func_name() {

}
```

  • 函數調用
  • 不定參數
  • 多傳回值
  • 匿名函數&&閉包
  • 包管理

物件導向

  • 方法(method)
  • 匿名欄位
  • 介面(interface)
相關文章

聯繫我們

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