go中defer,panic,recover详解 go中的异常处理

golang中defer,panic,recover是很常用的三个特性,三者一起使用可以充当其他语言中try…catch…的角色,而defer本身又像其他语言的析构函数 defer 在函数返回之前调用,用于资源释放、打印日志、异常捕获等 f, err := os.Open(filename) if err != nil { return err } /** * 这里defer要写在err判断的后边而不是os.Open后边 * 如果资源没有获取成功,就没有必要对资源执行释放操作 * 如果err不为...阅读全文

阅读:4125 评论:2

GO语言面试系列:(二)常规性Golang面试题解析

最近在很多地方看到了golang的面试题,看到了很多人对Golang的面试题心存恐惧,也是为了复习基础,我把解题的过程总结下来。 面试题 1. 写出下面代码输出内容。 package main import ( "fmt" ) func main() { defer_call() } func defer_call() { defer func() { fmt.Println("打印前") }() defer func() { fmt.Println("打印中") }() defer func(...阅读全文

阅读:1423 评论:1