Go语言基础语法4|青训营笔记

71 阅读2分钟

今天我们来聊一聊Go语言中的函数

我们都知道,为完成某一功能的程序指令(语句)的集合,称为函数。

在go语言中,函数是第一类对象,我们可以将函数保持到变量中。函数主要有具名和匿名之分,包级函数一般都是具名函数,具名函数是匿名函数的一种特例,当匿名函数引用了外部作用域中的变量时就成了闭包函数,闭包函数是函数式编程语言的核心。

代码如下: 1.具名函数:就和c语言中的普通函数相同,也具有函数名、返回值以及函数参数。

func Add(a,b,int)int{
    return a+b
}

2.匿名函数:即无需定义函数名的一种函数实现方式,由一个不带函数名的函数声明和函数体组成。

var Add = func(a,b,int) int{
    return a+b
}

函数我们基本了解了,那么Go语言中函数又如何声明和定义呢?

格式如下:

func fuction_name([parameter list])[return types]{
    函数体
}

解释一下各部分的含义:

func 函数由func开始声明

function_name 函数名称

parameter list 参数列表

return_types 返回类型

函数体 函数定义的代码集合

在Go语言中,函数也可以直接接或间接地调用自己,即我们常说的递归调用。 它的语法和c语言非常相似,格式如下:

func recursion(){
    recursion()  //函数调用自身
}

func main(){
    recursion()
}

对于go语言中函数的学习,我认为与其他语言也都有很多相通之处,当我们进行类比学习的时候,就可以很好的掌握其中的知识,同样也对我们学习过的其他语言是一种很好的复习,也许会有更深更新的理解。