其他
- dump goroutines https://stackoverflow.com/a/27398062/433041
go func() {
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGQUIT)
buf := make([]byte, 1<<20)
for {
<-sigs
stacklen := runtime.Stack(buf, true)
log.Printf("=== received SIGQUIT ===\n*** goroutine dump...\n%s\n*** end\n" , buf[:stacklen])
}
}()
- 在编译期检查接口的实现
var _ io.Reader = (*MyFastReader)(nil)
- len(nil) = 0
- 匿名结构很酷
var hits struct {
sync.Mutex
n int
}
hits.Lock()
hits.n++
hits.Unlock()
httputil.DumpRequest
是非常有用的东西,不要自己创建- 获得调用堆栈,我们可以使用
runtime.Caller
- 要 marshal 任意的 JSON, 你可以 marshal 为
map[string]interface{}{}
配置你的
CDPATH
以便你能在任何目录执行cd github.com/golang/go
- 添加这一行代码到
bashrc
(或者其他类似的)export CDPATH=$CDPATH:$GOPATH/src
- 添加这一行代码到
从一个 slice 生成简单的随机元素
[]string{"one", "two", "three"}[rand.Intn(3)]
当前内容版权归 cristaloleg 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 cristaloleg .