最近有大量用到reflect,给一流开源项目gin贡献的pr就是这方面的技巧,也在自己的开源项目中使用了大量使用reflect简化接口开发。鉴于reflect的接口特别难用,特别容易忘记,记录下。 判断类型 // 提取类型信息到变量里 var stringSliceType = reflect.TypeOf([]string{}) var intSliceType = reflect.TypeOf([]int{}) var int32SliceType = reflect.TypeOf([]in...
-
golang reflect笔记
-
Go 代码审查建议
注:该文的原文来自于 go-wiki 为 Go Code Review Comments Go 代码审查建议 该页收集了 Go 代码审查时候的常见意见,以至于一个详细说明能被快速参考。这是一个常见的错误清单,而不是一个风格指南。 你可以看 effective go 作为补充。 请在编辑这个页面前先讨论这个变更,就算是一个很小的变更,许多人都有自己的想法,这里不是战场。 gofmt 运行 gofmt 来自动化的解决你代码的主要的机械的风格问题,几乎所有的不正规的 go 代码都使用 gofmt。该文...