这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天。
Go语言基础语法二:
1.哈希(map)
map 在python语言中相当于字典,由键值对组成,在GO语言中需要使用make关键字来进行定义,定义形式为:
dict := make(map[int]string)
需要注意的是map后的中括号里面的类型为键的数据类型类型,中括号后面的为值的数据类型,在进行赋值操作的时候需要注意数据类型,否则会出现错误,同时注意在进行赋值的时候,字符串需要使用双引号而不能为单引号,否则会报错。
可以使用delete函数删除键值对,形式为delete(字典名,键)。
需要注意的是Go语言中的map是完全无序的,遍历的话,按照随机顺序进行输出。
2.range
range的作用是用来遍历,作用有点类似python语言中enumerate函数,其返回值为两个,第一个数索引,另一个是值,与python中相同,不需要索引的话可以使用下划线 _ 来进行忽略。
使用range对map进行遍历的形式如下:for 键,值 :=range map名{...}。
如果是对map中的键进行遍历的话,则形式为:for 键:=range map名{...}。需要注意的是:这里的键,值应该用变量来进行表示,代表键,值,上面为方便直接写了键,值。
3.函数
函数的定义形式为:func 函数名(变量 变量类型,...)(返回值名,返回值类型,...) {...}。在不需要用到返回值名的时候,返回值名可以省略。例如,两数相加的函数:
func add(a int,b int) int {
return a+b
}
Go语言中的函数支持返回多个值,实际应用中,经常会用到返回一个实际结果和一个错误信息。返回多个值的例子:判断某个值是不是map中的键,如果是返回该键的值和True,
func exists(dict map[string]int, key string) (value int, ans bool) {
value, ans = dict[key]
return value, ans
}
上述代码中,如果是的话,返回该键的值和True,不是的话,则返回0(值的类型为int)和False。
总结
本文接上一篇文章,依旧是Go语言的基础语法。