Go语言函数定义

    /    2018-12-03

函数是基本的代码块,用于执行一个任务。

Go语言函数特点:

1、关键字func用来声明一个函数funcName;

2、函数可以有一个或者多个参数,每个参数后面带有类型,通过逗号(,)分隔;

3、函数可以返回多个值;

4、返回值可以使用声明变量,如果不想声明也可以直接使用返回值的类型;

5、如果只有一个返回值且不声明返回值变量,那么你可以省略 包括返回值 的括号;

6、如果没有返回值,可以直接省略最后的返回信息;

7、如果有返回值, 必须在函数的外层添加return语句,否则会引发编译错误;

8、函数也是一种类型,一个函数可以赋值给变量,可作为参数传递;

9、函数不支持嵌套,一个包不能有两个名字一样的函数。不支持重载,不支持 默认参数

函数定义

第一种,定义一个无参数,无返回值的函数

func funcName() {

}

第二种,定义一个参数,无返回值的函数

func Print(str string) {
    println(str)
}

第三种,定义多个参数的函数,一个返回值的函数

func sum(x, y int) int {
    return x + y
}

第四种,定义一个多返回值的函数

func oldboy(str string) (ret string, err error) {
    if str == "Go" {
        return "老男孩IT教育,只培养技术精英。", nil
    }
    return "", errors.New("error")
}

第五种,返回值只有类型,无变量声明函数

func oldboy(str string) (string, error) {
    if str == "Go" {
        return "老男孩IT教育,只培养技术精英。", nil
    }
    return "", errors.New("error")
}

函数类型

第一种,定义一个无参数,无返回值的函数类型

type funcType func()

第二种,定义一个参数,无返回值的函数类型

type funcType func(string)

第三种,定义多个参数的函数,一个返回值的函数类型

type funcType func(x, y int) int

第四种,定义一个多返回值的函数类型

type funcType func(string) (string, error)

(8)

分享至