GO语言结构体方法跟结构体指针方法的区别
首先,我定了三个接口、一个结构和三个方法: type DeptModeA interface { Name() string SetName(name string) } type DeptModeB interface { Relocate(building string, floor uint8) } type Dept struct { name string building string floor uint8 Key string } func (self Dept) Name() ...阅读全文
如果你用Go,不要忘了vet
go tool vet是你的好朋友,不要忽视它。vet是一个优雅的工具,每个Go开发者都要知道并会使用它。它会做代码静态检查发现可能的bug或者可疑的构造。vet是Go tool套件的一部分,我们会在以后的文章中详细描述tool套件。它和go编译器一起发布,这意味着它不需要额外的依赖,可以很方便地通过以下的命令调用:$ go tool vet <directory|files>本文中所有的go代码段可以正常编译。这使得go vet有价值:它可以在编译阶段和运行阶段发现bug。同时也注意,本文中的...阅读全文
最佳日志实践(v2.0)
----- 0. 缘起 ----- 大约在三年前,我曾经写过一篇 最佳日志实践 ( http://link.zhihu.com/?target=http%3A//blog.jobbole.com/56574/ ) ,还被码农周刊选为那年的 最受欢迎技术干货 ( http://link.zhihu.com/?target=http%3A//oiolong.github.io/linux/2015/01/04/manong-2014-collection.html ) 之一。当时我任职于网易杭州研...阅读全文