go語言學習 2 -- 表達式

package main
import "fmt"'

func main(){
//初始化複合對象,必須使用類型標籤,且左大大括號必須在類型尾部
var a struct { x int } = { 100 } // 錯誤
var b []int = { 1, 2, 3 }//錯誤
var a = struct{ x int }{100}//正確
var b = []int{1, 2, 3}//爭取var

//初始化值以 "," 分隔。可以分多行,但最後一一行行必須以 "," 或 "}" 結尾。
a := []int{
	1,
	2    
}//錯誤
a := []int{
	1,
	2,
}//正確
b := []int{
	1,
	2 }//正確


if n := "abc"; x > 0 {//if語句可以進行初始化
println(n[2])
} else if x < 0 {// 注意 else if 和 else 左大大括號位置。
println(n[1])
} else {
println(n[0])
}

s := "abc"
for i, n := 0, len(s); i < n; i++ { // 常⻅見的 for 循環,支支持初始化語句。
println(s[i])
}

n := len(s)
for n > 0 {
println(s[n])
// 替代 while (n > 0) {}
// 替代 for (; n > 0;) {}省略條件表達式,可當 if...else if...else 使用用。
n--
}
for {
// 替代 while (true) {}
println(s)
// 替代 for (;;) {}
}



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)
}

i := 2
switch i {//分支支表達式可以是任意類型,不限於常量。可省略 break,默認自自動終止。
    case x[1]:
    println("a")
    case 1, 3:
    println("b")
    default:
    println("c")
}

switch {//省略條件表達式,可當 if...else if...else 使用。
    case x[1] > 0:
    println("a")
    case x[1] < 0:
    println("b")
    default:
    println("c")
}


}

保留字
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章