go語言初探 四

2021-10-12 07:56:13 字數 725 閱讀 2200

**

運算子不細講,和c++差不多,注意優先順序就行了,不過我喜歡加括號。

控制語句

在switch… case…語句中 ,可以不用寫break,別問,問就是自帶。

還多了fallthrough:可以強行執行後面的case語句。

即 從第乙個判斷表示式為 true 的 case 開始執行,如果 case 帶有 fallthrough,程式會繼續執行下一條 case,且它不會去判斷下乙個 case 的表示式是否為 true。

select語句

每個 case 都必須是乙個通訊

所有 channel 表示式都會被求值

所有被傳送的表示式都會被求值

如果任意某個通訊可以進行,它就執行,其他被忽略。

如果有多個 case 都可以執行,select 會隨機公平地選出乙個執行。其他不會執行。 否則:

如果有 default 子句,則執行該語句。

如果沒有 default 子句,select 將阻塞,直到某個通訊可以執行;go 不會重新對 channel 或值進行求值。

for迴圈:for 迴圈的 range 格式可以對 slice、map、陣列、字串等進行迭代迴圈:

for key, value := range oldmap {

newmap[key] = value

和c相比,省略了括號。

GO語言初探

學習參考 學習go語言 q1.0 for loop 1.建立乙個基於 for 的簡單的迴圈。使其迴圈 10 次,並且使用 fmt 包列印出計數 器的值。package main func main 用 goto 改寫 1 的迴圈。關鍵字 for 不可使用。package main func main...

Go語言初探

大寫字母開頭變數為共有變數,小寫字母開頭為私有變數 函式類似 iota列舉 預設開始值為0,const中每增加一行,值加1 引用型別 類似於動態陣列 相比於array,它沒有長度限制 由於可隨意跳轉,在龐大的系統中不利於debug,所以在coding中會通過結構化程式設計來規避這類問題,那麼,在go...

go語言初探 三

說真的看到go的語法後,我還有點不習慣,感覺它的語法規則很奇怪。但或許就是這樣的語法規則讓它的執行速度變快?這也未可知。在go裡有變數和常量,但沒有列舉。列舉可以用關鍵字const去模擬。常量只能是布林型 數字型 整數型 浮點型和複數 和字串型。編譯器可以根據變數的值來判斷型別。go裡面宣告變數的方...