package main import "fmt" func main() { a := 6 b := 2 c := a + b //加 d := a - b //減 e := a * b //乘 f := a / b //除 fmt.Println(c, d, e, f) //8 4 12 3 }
package main import "fmt" func main() { a := true b := false c := a && b //與 d := a || b //或 e := !a //非 fmt.Println(c, d, e) //false true false }
package main import "fmt" func main() { a := 0b0101 b := 0b0110 c := a & b //與 d := a | b //或 e := a ^ b //異或 f := b >> 1 //右移 g := b << 1 //左移 fmt.Println(c, d, e, f, g) //4 7 3 3 12 }
package main import "fmt" func main() { a := 6 b := 2 a += b //加等於:a = 6 + 2 = 8 a -= b //減等於:a = 8 - 2 = 6 a *= b //乘等於:a = 6 * 2 = 12 a /= b //除等於:a = 12 / 2 = 6 a++ //a=6+1=7 a-- //a=7-1=6 fmt.Println(a) //6 }
package main import "fmt" func main() { a := 6 b := 2 c := a < b //小於 d := a <= b //小於等於 e := a > b //大於 f := a >= b //大於等於 g := a == b //等於 h := a != b //不等於 fmt.Println(c, d, e, f, g, h) //false false true true false true }
package main import "fmt" func main() { a := []int{1, 2, 3} //中括號裏可填數,表明數組預留大小,可不填,爲自適應 b := [][]int{[]int{1, 2}, []int{3, 4}} c := make([]int, 3, 4) //make開闢一個內存空間 fmt.Println(a, b, c) //[1 2 3] [[1 2] [3 4]] [0 0 0] a = append(a, 4) //在數組a後插入元素4 fmt.Println(a) //[1 2 3 4] var d = make([]int, 5) copy(d, a) //拷貝 fmt.Println(d) //[1 2 3 4 0] //遍歷方法一 for k, v := range d { fmt.Printf("[%d %d],", k, v) //[0 1],[1 2],[2 3],[3 4],[4 0], } //遍歷方法二 for i := 0; i < len(d); i++ { fmt.Printf("%d,", d[i]) //1,2,3,4,0, } }
package main import "fmt" func main() { a := "a" b := &a //&指向內存地址,*指向內存地址上的內容 fmt.Print(a, *b, b) //a a 0xc... }
map存儲的是鍵值對的數據
map遍歷與數組相似數組
package main import "fmt" func main() { a := make(map[string]string) //初始化map a["key1"] = "value1" //增/改鍵值對 a["key2"] = "value2" fmt.Println(a) //map[key1:value1 key2:value2] fmt.Println(a["key2"]) //value2 fmt.Printf("%s, %T\n", a["key3"], a["key3"]) //, string(沒有對應的key也不會報錯) k1, v1 := a["key2"] fmt.Println(k1, v1) //value2 true delete(a, "key2") //刪除鍵值對 k2, v2 := a["key2"] fmt.Println(k2, v2) // false }