Golang 函数

关键字func、函数名、参数列表、返回值、函数体和返回语句

基本组成

关键字func、函数名、参数列表、返回值、函数体和返回语句

函数定义

package mypath
import "errors"
func Add(a int, b int) (ret int, err error) {
    if a < 0 || b < 0 {
        err = errors.New("Should be non-negative numbers!")
        return
    }
    return a + b, nil
}

如果参数列表中若干个相邻的参数类型的相同,比如上面例子中的a和b,则可以在参数列表中省略前面变量的类型声明,如下所示:
func Add(a, b int)(ret int, err error) {
    // ...
}

如果函数只有一个返回值,也可以这么写:
func Add(a, b int) int { // ...
}

函数调用

规则:小写字母开头的函数只在本包内可见,大写字母开头的函数才 能被其他包使用。
只要事先导入了该函数所在的包,就可以直接按照如下所示的方式调用 函数:

import "mymath"// 假设Add被放在一个叫mymath的包中
    // ...
    c := mymath.Add(1, 2)