GO语言基础语法2 | 青训营笔记

43 阅读2分钟

今日笔记继续学习go的基础语法~

go函数声明中,函数名后的第一个括号内为函数形参,此括号后面大括号前面跟函数返回值类型,如果这个函数是某类的成员函数,则在func关键字后用小括号放对应的类。

在go中,用关键字go后加函数的语句表示在单独线程中执行该函数,这个函数可以是前面定义好的,也可以在调用处定义,调用语句就是go func(内为函数形参){内为函数体}(内为函数实参)。

当函数形参出现类似“a(变量名)...变量类型”,表示此类型的形参可以传入多个,统一用a表示,可以用range a来获取。

要注意,在go中,函数的返回值可以为一个或者多个,当返回值是多个时,需要将 返回值的列表使用小括号括起来。当函数返回多个值时,调用此函数时也要使用与函数返回值个数相同的参数个数来接收返回值,如果某个返回值不需要,可以使用匿名变量来保存,也就是使用下划线_。

如果函数没有任何的返回值,在函数体里面不需要写return语句,与之相对的,有返回值的函数是一定要写return语句返回。一般可以用a, b := myFunc(c)的形式调用某函数。

go的error类型是一个接口类型,即为下面所示。

type error interface {
    Error() string
}

我们可以在代码中通过实现这个error接口来自定义错误信息。go的函数通常在最后一个返回值中返回错误信息。可以使用errors.New函数,内放错误信息来可返回一个错误。

此函数返回后,在调用处可以用

if err != nil {
   fmt.Println(err)
}

来输出错误信息,也可以在此if内退出当前函数等等。