首页 > 其他 > 详细

Go 函数进阶

时间:2020-05-13 09:28:54      阅读:79      评论:0      收藏:0      [点我收藏+]

变量作用域

全局变量

就是定义在函数外部的变量,谁都能访问。

局部变量

1. 函数内定义的变量无法在函数外使用。

2. 如果局部变量和全局变量重名,优先访问局部变量。

函数类型与变量

定义函数类型

使用 type  关键字来定义一个函数类型, 具体格式如下:

type calculation func(int, int) int

上面语句定义了一个 calculation 类型,它是一种函数类型,这种函数接收两个 int 类型的参数并且返回一个 int类型的返回值。

凡是满足这个条件的函数都是 calculation类型的函数,例如:

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

func sub(x, y int) int {
    return x - y
}

add 和 sub 都能赋值给 calculation类型的变量

var c calculation
c = add

函数类型变量

我们可以生命函数类型的变量并且为该变量赋值:

func main() {
    var c calculation               // 声明一个calculation类型的变量c
    c = add                         // 把add赋值给c
    fmt.Printf("type of c:%T\n", c) // type of c:main.calculation
    fmt.Println(c(1, 2))            // 像调用add一样调用c

    f := add                        // 将函数add赋值给变量f1
    fmt.Printf("type of f:%T\n", f) // type of f:func(int, int) int
    fmt.Println(f(10, 20))          // 像调用add一样调用f
}

Go 函数进阶

原文:https://www.cnblogs.com/zhukaijian/p/12879959.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!