Golang Map以及if的使用技巧

带类型的 Map

1
2
3
4
5
6
7
type Tea struct{
color string
taste string
}
AAA := make(map[string]*Tea)
// you can also import some other type
BBB := make(map[string]*type.Cat)

make() 可以带参数:类型,长度,容量 type, len, size

二维 Map 的初始化

1
2
3
4
5
6
7
// 我们得先知道我们要多少行
maxRow := 20
twoDimensionalMap := make(map[string]map[string]string)
for i := 1; i <= maxRow; i ++{
rowMap := make(map[string]string)
twoDimensionalMap[i] = rowMap
}

if 的使用技巧

1
2
3
4
5
6
// 我们可以通过接收第二个参数来知道是否存在该值
if value, exist := twoDimensionalMap["233"]["666"]; exist {
// 如果 twoDimensionalMap["233"]["666"]存在的话 exist = true
// 会执行下面的语句
fmt.Println(value)
}

image-20220908120431425

字段书写类型

类型 命名规则 模板
蛇形 (snake case) 使用下划线+小写 下划线命名法 snake_case、user_name
大驼峰 (upper camel case) 单词首字母大写 PythonCat、UserName
小驼峰 (lower camel case) 首单词字母小写,之后的单词首字母大写 userName
匈牙利 (HN case) 属性+类型+描述 nLength、g_cch、hRgn
帕斯卡 (Pascal case) 全部首字母大写 = 大驼峰 UserName
脊柱 (spinal case | kebab case | train case) 使用中划线 python-cat、user-name
自由 (studly caps | sticky caps) 大小写混杂、无简明规则 NeXT、StUdLyCaPs
驼峰蛇形 (snake camel case) 结合驼峰和蛇形命名法 Python_Cat、 user_Name