1. 程式人生 > >Go語言實戰(二) - 基礎語法

Go語言實戰(二) - 基礎語法

1 變數定義


var 語句定義了一個變數的列表;跟函式的引數列表一樣,型別在後面。
就像在這個例子中看到的一樣,var 語句可以定義在包或函式級別。



變數一旦定義了,就必須使用到,否則報錯

根據變數內容即可判斷變數型別,無須再顯式宣告


  • 總結

2 內建變數型別

複數機制


驗證尤拉公式

強制型別轉換

sqrt原始碼
傳參 int 直接報錯

因為沒有隱式轉換,只有顯式的強制型別轉換

3 常量與列舉


常量的定義

使用 iota 在 const 塊定義中實現自增值
iota = 0

記憶體進位制大小數值
使用常量定義列舉型別

常量定義要點回顧

4 條件語句

if

"If"語句根據一個布林表示式的值指定兩個分支的條件來執行。 若該表示式求值為true,則執行"if"分支,否則執行"else"分支

If語句 = "if" [ 簡單語句 ";" ] 表示式 塊 [ "else" ( If語句 | 塊 ) ] .
if x > max {
    x = max
}


工具方法,該方法有兩個返回值哦!

檔案位置

switch

"Switch"語句提供多路執行。表示式或型別說明符與"switch"中的"cases"相比較從而決定執行哪一分支。

Switch語句 = 表示式選擇語句 | 型別選擇語句 





迴圈









5 函式

  • 引數 引數型別,

  • Go的函式可以返回多個值
    多返回值
  • 若引數過多,這樣並不是一種清晰的寫法

建議如下最佳實踐!

  • 多返回值函式,只接收一個返回值
  • 對於多返回值引數,一般可用於返回值 + error

比如這樣,控制檯輸出就很難看,因為error直接程式中斷了



  • 亦可寫成匿名函式


無預設引數,有可變引數,可變引數型別其實是[] type 型別


6 指標

6.1 引數傳遞




1
2
3


當然啦,還有最簡單的