- 博客(3)
- 收藏
- 关注
原创 对golang结构体的方法集的理解
今天在看Mark Summerfield写的《Go语言程序设计》里面有句话:“一个自定义类型值的方法集则由该类型定义的接收者类型为值类型的方法组成,但是不包括那些接收者类型为指针的方法。但这种限制并不像这里所说的那样,因为如果我们只有一个值,仍然可以调用一个接收者为指针类型的方法,这可以借助Go语言传真的地址的能力实现,前提是该值是可寻址的(即它是一个变量,一个解引用指针,一个数组或者切片项,或者
2017-04-29 16:57:06 792 1
原创 golang defer 语句匿名函数和具名函数的区别
如果 defer 语句调用的是一个具名函数,那就要注意该具名函数的某个参数是不是引用了另外一个函数。假如 defer 语句为 defer A(B()) ,那么 defer 语句在注册的时候就会执行函数 B() , 但是函数 A() 的执行则延迟到 defer 外围函数即将退出时。 func (sm *SyncMap) Put(k, v string) { sm.lock.Lock(); d
2017-04-27 18:32:58 2370
原创 golang web框架 utron 的异常统一处理
虽然 golang 提供了函数返回 Error 的方式帮助我们安全地检查函数调用是否出错,但是有些运行时的 panic 还是没办法抓到。我们希望能够像 Spring 的 @ControllerAdvice 注解的类,实现里面的 @ExceptionHandler 注解的方法,就可以抓住所有的 Exception 包括 UncheckedException。 通过 debug,我们找到了 rout
2017-04-26 10:16:08 1397 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人