Go 筆記(一)
阿新 • • 發佈:2021-08-24
Go 語言之旅
包
golang 從main包開始
導包使用import 關鍵字
- 單個匯入
- 多個匯入
匯出名,在別的package下呼叫,使用大寫表示匯出名
函式
-
func func_name(param1, param2 Type) Type
-
函式名,引數型別,返回值型別
-
引數型別相同時,可以只寫一個引數型別,編譯器代做推斷,果然是大道至簡
-
可以返回多個值
-
命名返回值,返回值可以直接在函式定義的時間進行命名
-
變數,使用var 宣告
-
變數初始化,如果初始值存在,可以省略型別不寫,大道至簡,golang來幫你實現
-
短變數宣告
number := 100
不能在函式外使用 -
基本資料型別
- bool
- string
- int
- int8
- int16
- int32
- int64
- unit
- unit8
- unit16
- unit32
- unit64
- uintptr
- byte
- rune
- float32
- float64
- complex64
- complex128
-
型別轉換
var i int = 42 var f float64 = float64() var u uint = uint(f) //或者 i := 42 f := float64(i
-
const 關鍵字
控制結構
-
for 迴圈
package main import "fmt" func main() { sum := 0 for i := 0; i < 10; i++ { sum += i } fmt.Println(sum) } // "while" package main import "fmt" func main() { sum := 1 for sum < 1000 { sum += sum } fmt.Println(sum) }
-
for{} 無線迴圈
-
if condition {}
- else
-
switch: go自動提供了每個case 後面的break
-
沒有條件的 switch 同
switch true
一樣 -
defer 語句會將函式推遲到外層函式返回之後執行
-
推遲的函式呼叫會被壓入一個棧中。當外層函式返回時,被推遲的函式會按照後進先出的順序呼叫