您的位置:首页 > 编程语言 > Go语言

Go语言_函数学习篇

2012-06-03 09:01 369 查看
这里要说一下是Go函数和一些其他语言不一样的地方

1 函数格式不同

?
func说明这个是个函数

GetMsg是函数名

(i int) 函数接收一个int参数

(r string) 函数返回一个string类型返回值

2 函数可以返回多个返回值

这点和c,php都不一样,和lua是一样的

?

3 defer的使用

defer的意思是"在函数退出时调用",特别用于对文件进行读写操作的时候,需要在open之后要调用close操作,将close操作使用defer

?
这样写的意思是在file.Open后不立即调用close,当return false的时候调用file.Close().这样就有效避免了C语言中的内存泄露问题。

4 比较难理解的:panic,recover和defer

推荐看这篇博客:

http://blog.golang.org/2010/08/defer-panic-and-recover.html

defer的作用上一节说得很清楚了。

Panic和Recover我们就将他们看成是其他语言中的throw和catch

下面这个例子:

?
返回了:

?
Panic抛出了信息,并且跳出函数。Recover接受到了信息,并且继续处理。

这个例子理解了基本就掌握了Recover和Panic
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: