Golang自定义包并导入包

0x00 Go语言自定义包,方式一:按相对路径引入包(将GO111MODULE设置为off或者auto)

  •  Go语言在创建包时,都要先新建目录(文件夹),并且建立包的go文件放到此目录下,建立的.go文件命名包的名字时必须和该.go文件所在的当前目录名保持一致。
  • 我们可以到golang编译器安装目录下的src目录查看fmt包的内容,首先是一个fmt目录(文件夹),这个目录下的所有.go文件定义的包名都是fmt。

  • 要想建立的包能够被调用,所自定义的包里面的函数首字母必须大写。
  • 在调用自定义的包时,首先得引入包(方式一:按照包的相对路径引入),import ("./包名"),并且在调用函数时,必须是:包名.函数名()。

 

  •  当以绝对路径导入包时,会发生错误(编译器提示:无效的路径)。

  •  当以绝对路径导入自定义包时,Go语言会认为这是个特殊的路径,专门用来存放编码者所写的自定义包,所以此时编码者应当将自定义包放到GOPATH目录下的src目录下,这样的一个工作目录即方便编码者调用此包,也方便了编码者后续管理和升级自己的包。

 0x01 方式二:在GOPATH的src目录下导入自定义包(将GO111MODULE设置为off或者auto)

 

  •  从编译器的提示可以发现,当要以某个路径(非相对路径)引用包时,这个包所在的位置必须在GOPATH的src目录(即GOPATH目录下的src目录)下或者Golang编译器的安装目录下的src目录(即GOROOT目录下的src目录)中,强烈建议不要放到GOROOT目录下的src目录,因为这是Go语言标准库所放置的路径,学习完这篇博文,你就能体会到go语言设计GOPATH以及GOMODULE包管理方式的好处,让编码者更好的管理自己的代码。

  •  以上内容笔者均在golang编译器1.15中验证通过。

0x02 golang引用开源库(将GO111MODULE设置为on)

  •  利用GO111MODULE和GOPROXY,可以直接将Github上的第三方库直接下载到本地使用,不需要使用go get命令

  •  Go Modules包管理工具在国内环境下配置好go代理,使用七牛云的代理,可以快速的下载包,使用go mod命令下载的包在我们配置好的GOPATH目录下的pkg目录下,准确来说是pkg目录下的mod目录,表示多个模块,模块就是多个包的集合,Go语言这样设计就是让编码者非常舒服的管理包,这也是Go Modules管理包方式的优点,非常有条理性。

  •  现在解读下GOPATH目录下的三个目录bin,pkg,src,bin目录用来放置可执行文件的(前提是未设置GOBIN,否则就在设置好的GOBIN目录下),当我们使用go install命令时,生成的可执行文件就在这里,其次我们在下载某些开源库的命令行工具也在这里,比如我们下载beego框架的bee命令就在此,如果我们将GOPATH目录下的bin配置到计算机的环境变量中,那么我们直接在命令行或者终端中使用这些命令;pkg目录下的mod目录用来存放第三方的开源库;src目录就是用来存放我们自定义包,当然我们自定义的包也可以放到其他目录下,只是放到src目录时,方便调用和管理。

 

  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓琴儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值