构建可复用模块

Golang的工程管理一直是初学者所不能很好的理解的事物,本篇主要讲述了在Golang中如何进行工程管理,如何构建可复用模块,从GitHub获取Go的包是如何操作的,以及Golang的包管理工具的基本使用,这样再进行项目开发的时候就可以模块化的管理自己的工程,首先还得从Package说起!

mark

package

1、基本复用模块单元,以首字母大写来表明可被包外代码访问
2、代码的package可以和所在的目录不一致
3、同一目录里的Go代码的package要保持一致
4、通过go get来获取远程依赖

  • go get -u 强制从网络更新远程依赖

5、注意代码在Github上的组织形式,以适应go get

  • 直接以代码路径开始,不要有src

注意GOPATH的配置

init函数

1、在main被执行前,所有依赖的package的init方法都会被执行
2、不同包的init函数按照包导入的依赖关系决定执行顺序
3、每个包可以有多个init 函数
4、包的每个源文件也可以有多个init函数,这点比较特殊

mark

远程获取包

就拿这个concurrentMap来说吧,这是一个Go语言的concurrentMap实现, https://github.com/easierway/concurrent_map 现在假设我们需要引入这个包,(在配置好GOPATH的情况下)直接使用命令搞定:

mark

命令执行完毕就会在GOPATH的目录下直接把go源文件拉下来,接下来导入就好了

mark

所以我们在提交自己的开源项目的时候,别把src目录放进去,只要把代码的路径放在相对根目录下就好了,比如:

mark
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值