Golang
allen_jinjie
这个作者很懒,什么都没留下…
展开
-
对golang结构体的方法集的理解
今天在看Mark Summerfield写的《Go语言程序设计》里面有句话:“一个自定义类型值的方法集则由该类型定义的接收者类型为值类型的方法组成,但是不包括那些接收者类型为指针的方法。但这种限制并不像这里所说的那样,因为如果我们只有一个值,仍然可以调用一个接收者为指针类型的方法,这可以借助Go语言传真的地址的能力实现,前提是该值是可寻址的(即它是一个变量,一个解引用指针,一个数组或者切片项,或者原创 2017-04-29 16:57:06 · 786 阅读 · 1 评论 -
golang web框架 utron 的异常统一处理
虽然 golang 提供了函数返回 Error 的方式帮助我们安全地检查函数调用是否出错,但是有些运行时的 panic 还是没办法抓到。我们希望能够像 Spring 的 @ControllerAdvice 注解的类,实现里面的 @ExceptionHandler 注解的方法,就可以抓住所有的 Exception 包括 UncheckedException。 通过 debug,我们找到了 rout原创 2017-04-26 10:16:08 · 1392 阅读 · 1 评论 -
goroutine使用最佳实践
1. 最好在主 goroutine 里定义channel并准备初始数据,再根据需要发出子goroutine 实现具体处理逻辑,各子goroutine可以从 channel 接收数据和(或)往 channel 发送数据。 2. 如果不是特殊需要,不要定义无缓冲的 channal,也不要在主goroutine里从channel里接收或往其发送数据。 3. 原则上,由发送方主动关闭channel,原创 2017-05-09 13:48:56 · 865 阅读 · 0 评论