Go語言學習筆記 - 表達式

Golang關(guān)鍵字

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

Goang運算符

不支支持運算符重載。尤其需要注意,"++"蚂子、"--" 是語句而而非非表達式。

+  &  +=  &=  &&  ==  !=  (  )
-  |  -=  |=  ||  <  <=  [  ]
*  ^  *=  ^=  <-  >  >=  {  }
/  <<  /=  <<=  ++  =  :=  ,  ;
%  >>  %=  >>=  --  !  ...  .  :
&^  &^=

控制流

x := 0
if n := "abc"; x > 0 {// 初始化語句未必就是定義變量,比如 println("init") 也是可以的缭黔。
    println(n[2])
} else if x < 0 {// 注意 else if 和 else 左大大括號位置缆镣。
    println(n[1])
} else {
    println(n[0])
} 

循環(huán)

支支持三種循環(huán)方方式,包括類 while 語法。

s := "abc"
for i, n := 0, len(s); i < n; i++ {// 常見的 for 循環(huán),支持初始化語句试浙。
    println(s[i])
}
n := len(s)
for n > 0 {// 替代 while (n > 0) {}
    println(s[n])// 替代 for (; n > 0;) {}
    n--
}
for {// 替代 while (true) {}
    println(s)// 替代 for (;;) {}
}

Rang

類似迭代器操作,返回 (索引, 值) 或 (鍵, 值)董瞻。

            1st  value      2nd  value
------------------+-------------------+------------------+-------------------
string          index          s[index]    unicode,    rune
array/slice       index          s[index]
map            key           m[key]
channel         element

可忽略不想要的返回值,或用 "_" 這個特殊變量。

s := "abc"
for i := range s {// 忽略 2nd value,支支持 string/array/slice/map。
    println(s[i])
}
for _, c := range s {// 忽略 index钠糊。
    println(c)
}
for range s {// 忽略全部返回值,僅迭代挟秤。
    ...
}
m := map[string]int{"a": 1, "b": 2}
for k, v := range m {// 返回 (key, value)。
    println(k, v)
}

Switch

分支表達式可以是任意類型,不限于常量抄伍∷腋眨可省略 break,默認自動終止。

x := []int{1, 2, 3}
i := 2
switch i {
  case x[1]:
    println("a")
  case 1, 3:
    println("b")
  default:
    println("c")
}

如需要繼續(xù)下一分支,可使用 fallthrough,但不再判斷條件截珍。省略條件表達式,可當 if...else if...else 使用攀甚。

Goto,Break,Continue

支持在函數(shù)內(nèi) goto 跳轉(zhuǎn)。標簽名區(qū)分大小寫,未使用標簽引發(fā)錯誤岗喉。配合標簽,break 和 continue 可在多級嵌套循環(huán)中跳出秋度。

func main() {
L1:
  for x := 0; x < 3; x++ {
  L2:
    for y := 0; y < 5; y++ {
      if y > 2 { continue L2 }
      if x > 1 { break L1 }
        print(x, ":", y, " ")
    }
    println()
  }
}

附:break 可用于 for、switch钱床、select,而 continue 僅能用于 for 循環(huán)荚斯。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市查牌,隨后出現(xiàn)的幾起案子事期,更是在濱河造成了極大的恐慌,老刑警劉巖纸颜,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兽泣,死亡現(xiàn)場離奇詭異,居然都是意外死亡胁孙,警方通過查閱死者的電腦和手機撞叨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浊洞,“玉大人牵敷,你說我怎么就攤上這事》ㄏ#” “怎么了枷餐?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長苫亦。 經(jīng)常有香客問我毛肋,道長,這世上最難降的妖魔是什么屋剑? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任润匙,我火速辦了婚禮,結(jié)果婚禮上唉匾,老公的妹妹穿的比我還像新娘孕讳。我一直安慰自己匠楚,他們只是感情好,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布厂财。 她就那樣靜靜地躺著芋簿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪璃饱。 梳的紋絲不亂的頭發(fā)上与斤,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音荚恶,去河邊找鬼撩穿。 笑死,一個胖子當著我的面吹牛谒撼,可吹牛的內(nèi)容都是我干的食寡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嗤栓,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了箍邮?” 一聲冷哼從身側(cè)響起茉帅,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锭弊,沒想到半個月后堪澎,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡味滞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年樱蛤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剑鞍。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡昨凡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蚁署,到底是詐尸還是另有隱情便脊,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布光戈,位于F島的核電站哪痰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏久妆。R本人自食惡果不足惜晌杰,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望筷弦。 院中可真熱鬧肋演,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至边灭,卻和暖如春异希,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绒瘦。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工称簿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惰帽。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓憨降,卻偏偏與公主長得像,于是被迫代替她去往敵國和親该酗。 傳聞我的和親對象是個殘疾皇子授药,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 86.復合 Cases 共享相同代碼塊的多個switch 分支 分支可以合并, 寫在分支后用逗號分開。如果任何模式...
    無灃閱讀 1,371評論 1 5
  • 有什么東西呜魄,在心里悔叽,應時常記起,卻沒記起爵嗅。在活著娇澎,跳動著,卻會偶爾失去記憶睹晒。 還以為趟庄,已經(jīng)忘記,其實發(fā)現(xiàn)伪很,它在那里...
    天然愛蘇三閱讀 201評論 0 2
  • 2018考研雖還沒正式開戚啥,但是考研大戰(zhàn)已經(jīng)悄悄拉開了帷幕。目前有些同學已經(jīng)開始準備復習了锉试,但是困擾著這些同學們的第...
    檸就是萌閱讀 382評論 0 2
  • 你要感謝生命的每次不期而遇 相遇便是緣分 何況溫柔對你 珍惜
    無恙大俠閱讀 118評論 0 0
  • 這是一部可以誘惑人在跑步機上待一小時的電影虑鼎。 顏值高。最帥當屬任達華键痛,風度沉穩(wěn)炫彩;最美的是李心潔,五官立體眼睛深邃絮短;...
    綠玉閱讀 504評論 0 1