Go的Defer、Panic和Recover (翻译)
dont-panic.png 翻译自:https://blog.golang.org/defer-panic-and-recover Go有和语言一样常见的流程控制语句:if, for, switch, goto。同时也可以使用go语句实现在不同的goroutine中运行代码(并发)。不过,今天我们将来讨论一些少见的话题:defer、panic和recover。 Defer defer语句会将函数推入到一个列表中。同时,列表中的函数会在return语句执行后被调用。defer常常会被用来简化资源清理释放之类的操作。 举个例子,我们来观察下下面这个函数,它的主要功能是打开两个文件并将一个文件的内容拷贝到另一个文件: func CopyFile(dstName, srcName string) ...阅读全文