笔记会纪录与已知的 Python 的差别,
或是对我来说比较需要记忆的部分。
初学 Go 不建议看这几篇文章。
2021/10/15 更新:因为写 merge sort 对 slice 的理解提升了一些,稍微对 array 和 slice 增加一些东西。
nil
arr := [5]string{"a", "b", ...略}
...
:後面有初始化,可以省略长度不用自己算有几个~真聪明arr := [...]string{"Iron Man", "Dr.Stange", "Thor"}
range
:Python equivalence 为 enumerate
for i, v := range 阵列 {
fmt.Println(i, v)
}
这篇很详细且有图片[Golang] Slice and Array
[]int
是 int slice)arr := [5]string{"dog", "dog", "dog", "dog", "dog"}
slice := arr[1:4]
slice[0] = "cat"
// 这时 arr[1] 变为 cat
cap()
表示此 slice 开头到 原来阵列的结尾 的长度arr[1:100] # python 会回 arr[1:5]
arr[1:100] // go:out of bounds for 5-element array)
make
动态产生 slice// len, cap = 2
slice1 := make([]string, 2)
// len 2 cap 5
slice2 := make([]string, 2, 5)
append
slice = append(slice, "new string")
cap *= 2
// 至少要说好 key 的型别
var m1 map[string]
// key 为 string,value 为 int
var m2 = map[string]int {"aaa": 30, "bbb": 45}
fmt.Println(m2["ccc"]) // 印出 0
v, keyExist = m2["ccc"]
for k, v := range m2 {
fmt.Println(k, v)
}
delete
删除不存在的也不会喷错delete(m2, "bbb")
>>: 【Side Project】 订单清单 - 未完成清单(後台资料传前台&动态生成html)
新冠肺炎(Covid-19)疫情全球蔓延,造成全球性大流行的威胁, 台湾对於防疫措施的努力从来不落人...
call, apply, bind 方法 当我们对函式使用 call, apply, bind 这三...
Sass 我们应该大部分的人都有听过 那它到底是什麽东西呢?? 我们先来介绍它到底是啥 维基百科ht...
一、前言 上一篇文章介绍了 VSCode 好用的快捷键,此篇开始介绍其他扩充之实用功能罗。没意外...
我们之前的web.php没有考虑到编辑留言板的部分, 所以我们在留言板的後面再加上一列 //编辑留言...