PixelNest

Recent content on PixelNest

马上订阅 PixelNest RSS 更新: https://ifttl.com/index.xml

近期写 Go 的一点语法碎片整理

2018年8月24日 06:02

获取 UNIX 时间戳

now := time.Now().Unix()
fmt.Println("type: %T, value: %v", now, now)

type: int64, value: 1535031653

向 slice 里追加元素

s := []int{1, 2, 3}
s = append(s, 4)
fmt.Println(s)

[1 2 3 4]

遍历 map

m := make(map[string][]int)
m["hello"] = []int{1, 2, 3}
m["world"] = []int{4, 5, 6}
for k, v := range m {
    fmt.Println(k, v)
}
for k := range m {
    fmt.Println(k)
}
for _, v := range m {
    fmt.Println(v)
}

hello [1 2 3]
world [4 5 6]
hello
world
[1 2 3]
[4 5 6]

删除 map 中的元素

m := make(map[string][]int)
m["hello"] = []int{1, 2, 3}
m["world"] = []int{4, 5, 6}
delete(m, "hello")
for k, v := range m {
    fmt.Println(k, v)
}

world [4 5 6]

值得注意的一点:在对一个 map 的 range loop 中,删除 map 的元素,例如下面这段伪代码,是安全的。