$ tree -d . └── vendor └── github.com ├── fatih │ └── color ├── mattn │ └── go-isatty └── shiena └── ansicolor └── ansicolor
9 directories
$ cat > main.go package main import "github.com/fatih/color" func main() { color.Red("Hello, world!") }
$ export GO15VENDOREXPERIMENT=1 $ go build . $ ./hello Hello, world!
$ git add main.go vendor/ && git commit</pre>
未来
Golang 社区一直遵循“尽量简单”的原则,从不多加一份可能的设计负担给用户,这也是我喜欢它的原因。对于管理依赖的处理,是 Go开发组 一直重视的技术点,它的重要性远比“DRY”原则还过之:
Go Team 强调的是代码的干净度胜过代码的重用。这是不一样的编程哲学,还请大家且行且珍惜。
总结下官方对包管理依赖的建议如下:
作者
肖德时,北京数人科技有限公司CTO,负责云计算的研发及架构设计工作。关注领域包括Docker,Mesos集群, 云计算等领域。 肖德时之前为红帽Engineering Service部门内部工具组Team Leader。
参考
感谢郭蕾对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。
</div>