一、函数


1. 语法




默认情况下,Go 语言使用的是值传递,即在调用过程中不会影响到实际参数。

1)求a和b两个参数值之和:



输出结果



2)Golang的函数返回值可以为多个:



输出结果



3)也可以无返回值:



输出结果



3. 引用(指针)传递

引用传递是将参数的内存地址传递到函数中,如果在函数中对该参数值进行了修改,那外层的该参数值也会被修改。


举例说明


现在定义一个函数接受一个参数a,在打印a的值后将a赋值为3

下面是值传递的写法:



输出结果



下面是引用传递的写法:



输出结果



二、函数用法


1. Golang中没有class


要知道的是,Golang中并没有Python、Java中的类(class)。Golang一切的一切都是函数,如果要实现一个class的话,可以这样写:



输出结果



类中函数带参数的写法:



2. 闭包


闭包可以理解为“定义在一个函数内部的函数“,闭包是一座用于连接函数内部和函数外部的桥梁


对于上面的第一个例子(输出结果如下):



使用闭包可以这样写:



3. Golang中函数传递函数

Golang可以将函数作为变量的值



输出结果