1. 程式人生 > >go學習筆記-語言基礎

go學習筆記-語言基礎

組成 括號 同一行 ace \n 數字類型 pac face utf

語言基礎

結構

基礎組成:

包聲明
引入包
函數
變量
語句 & 表達式
註釋

程序

在開始編寫應用之前,我們先從最基本的程序開始,在學習大部分語言之前,都會編寫一個可以輸出hello world的程序,如下所示

package main  ---包名稱

import "fmt"  ---導入依賴包

func main() { ---定義函數
    fmt.Printf("hello world\n") ---執行依賴包方法
}

詳解

Go程序是通過package來組織的

package <pkgName>

例子中是package main 這一行告訴我們當前文件屬於哪個包,而包名main則告訴我們它是一個可獨立運行的包,它在編譯後會產生可執行文件。除了main包之外,其它的包最後都會生成*.a文件(也就是包文件)

每一個可獨立運行的Go程序,必定包含一個package main,在這個main包中必定包含一個入口函數main,通過關鍵字func定義了一個main函數,函數體被放在{}(大括號)中。

func main() { 
    fmt.Printf("hello world\n") 
}

為了打印Hello, world...,我們調用了一個函數Printf,這個函數來自於fmt包,所以我們導入了系統級別的fmt包

import "fmt"

調用了fmt包裏面定義的函數Printf。大家可以看到,這個函數是通過<pkgName>.<funcName>的方式調用的。

概念

行分隔符

在 Go 程序中,一行代表一個語句結束。每個語句不需要像 C 家族中的其它語言一樣以分號 ; 結尾,因為這些工作都將由 Go 編譯器自動完成。
如果你打算將多個語句寫在同一行,它們則必須使用 ; 人為區分,但在實際開發中我們並不鼓勵這種做法。

註釋

註釋不會被編譯,每一個包應該有相關註釋。
單行註釋是最常見的註釋形式,你可以在任何地方使用以 // 開頭的單行註釋。多行註釋也叫塊註釋,均已以 /* 開頭,並以 */ 結尾。如:

標識符

標識符用來命名變量、類型等程序實體。一個標識符實際上就是一個或是多個字母(A~Z和a~z)數字(0~9)、下劃線_組成的序列,但是第一個字符必須是字母或下劃線而不能是數字。

關鍵字

25 個關鍵字或保留字

break    default      func    interface    select
case     defer        go      map          struct
chan     else         goto    package      switch
const    fallthrough  if      range        type
continue for          import  return       var

還有 36 個預定義標識符

append  bool    byte    cap close   complex complex64   complex128  uint16
copy    false   float32 float64 imag    int int8    int16   uint32
int32   int64   iota    len make    new nil panic   uint64
print   println real    recover string  true    uint    uint8   uintptr

數據類型

數據類型用於聲明函數和變量。

1 布爾型
    布爾型的值只可以是常量 true 或者 false。一個簡單的例子:var b bool = true。
2 數字類型
    整型 int 和浮點型 float32、float64,Go 語言支持整型和浮點型數字,並且原生支持復數,其中位的運算采用補碼。
3 字符串類型:
    字符串就是一串固定長度的字符連接起來的字符序列。Go的字符串是由單個字節連接起來的。Go語言的字符串的字節使用UTF-8編碼標識Unicode文本。
4 派生類型:
    包括:
    (a) 指針類型(Pointer)
    (b) 數組類型
    (c) 結構化類型(struct)
    (d) Channel 類型
    (e) 函數類型
    (f) 切片類型
    (g) 接口類型(interface)
    (h) Map 類型

go學習筆記-語言基礎