go语言匿名函数小括号 go语言闭包和匿名函数

golang异常处理

go语言没有使用像java python等语言的try catch/except 语句来处理异常,而是使用它特有的panic,recover,defer来捕获和处理异常

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站制作、南靖网络推广、小程序制作、南靖网络营销、南靖企业策划、南靖品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供南靖建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

分析:

divide是一个做除法的函数,可能会出现除数为0的错误,所以在函数一开头就定义了一个defer匿名函数(注意这里的匿名函数定义完后面要带上括号才能执行),这个匿名函数被defer修饰了所以只在divide函数执行完才会执行,而不是一进来就执行。后面判断b是否等于0,如果为零的话我们手动使用panic抛出了异常,这个异常是在divide函数退出前执行的defer匿名函数里通过recover()来捕获的,如果err不为空就说明发生了错误,打印error happen!和panic抛出的divided by zero!! 然后主协程返回到主函数main里,继续执行后面的打印

Golang入门到项目实战 | golang匿名函数

go语言函数不能嵌套,但是在函数内部可以定义匿名函数,实现一下简单功能调用。

所谓匿名函数就是,没有名称的函数。

语法格式如下:

当然可以既没有参数,可以没有返回值

运行结果

自己执行

运行结果

go语言中函数定义结尾的小括号是怎么回事

其实,这就是在调用这个函数,等同于:

例如,

运行结果:

又如:

运行结果一样的。

Go语言基础10——匿名函数和闭包

函数还可以作为返回值,但是在Go语言中不能再像之前那样定义函数了,只能定义匿名函数。匿名函数就是没有函数名的函数。

闭包 = 函数 + 外层变量的引用


网站栏目:go语言匿名函数小括号 go语言闭包和匿名函数
本文URL:http://azwzsj.com/article/hgciip.html