[ 后端与 Go | 青训营笔记]

119 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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语言的基础语法。