一句话技巧
把你面向对象的大脑扔到家里吧,去拥抱接口。
学习如何使用Go的方式做事,不要把别的的编程风格强行用在Go里面。
多用接口总比少用好。
拥抱这种简洁、并行、工整的语言。
阅读官网golang.org上所有的文档,真是棒呆了。
别忘了用gofmt。
多读源代码。
学习工具和组件,然后创造你自己的!码代码和学代码一样对成功必不可少。
学而不思则罔,思而不学则殆。《论语》
引入package的多种方式
有几种非常规方式来引入包(package)。接下来我会使用fmt来作为例子:
import format "fmt" - 为fmt创造一个别名。把代码中所有使用到fmt的内容用format.代替fmt.
import . "fmt" - 允许包内的内容不加fmt前缀而被被直接引用
import _ "fmt" - 阻止编译器为引入fmt却不使用里面的内容做引发的警告,执行package中的初始化函数。提醒一句,在这种情况下fmt是不可调用的
看这篇博客来了解更多细节。
Goimports
命令goimports可以更新您的Go导入行,添加缺少的行,并删除未引用的引导行。
它拥有和gofmt(插入式替换)相同的能力,但是goimports额外增加了修复imports的功能。
组织
Go是一种相对来说易学习的编程语言,但对于开发者来说,起初接触这门语言最困难的事情就是如何组织代码。scaffolding是人们喜欢Rails的原因之一,它可以给新晋的开发者清晰的方向,让他们明白在哪里插入代码,应该遵循怎样的编程风格。
作为扩展,Go使用go fmt这样的工具来提供开发者相同的功能。同样地,Go的编译器非常严格,它不会去编译没有使用的变量,或者没有使用的import声明。
自定义构造函数
我经常听到别人问,“我什么时候应该使用像NewJob这样的自定义构造函数?”,我的回答是“大多数情形下你没必要这么做”。然而,当你需要在初始化的时候就设置值,且你有一些默认值的时候,这就最好使用一个构造函数。在这个例子中,构造函数就比较有意义了,因此我们用如下的代码可以构建一个默认的logger:
详情请点击了解更多
有疑问加站长微信联系(非本文作者)