杭州微信网站开发,自建网站推广,黄页推广软件哪个好,文字设计今天#xff0c;灵感一现#xff1a;不能一个文件干到底吧#xff0c;那要是工程大了怎么办#xff1f; 答案很简单#xff0c;“包”啊 GO里的包#xff0c;看起来很简单#xff0c;但又不简单 一开始#xff0c;我想当然的以为就是include 路径一样的问题 事实是灵感一现不能一个文件干到底吧那要是工程大了怎么办 答案很简单“包”啊 GO里的包看起来很简单但又不简单 一开始我想当然的以为就是include 路径一样的问题 事实是GO以GOPATH环境变量来管理的其实从你在应用标准包根本没有路径一说就应该能猜到这个该死的结果了 好了下边我们以一个例子来说明避免网上那些看似很仔细的说但就是怎么也说不明白的症结吧 一 找到你的GOPATH echo $GOPATH/root/gopkg //我的位置在这里你自己的肯定不一样吧当然要是你跟我设置一样那就是这个了 二 我们自己库源码要放入的位置 $GOPATH/src/other 三 gin-1.go , gin-2.go源码 //gin-1.go package other import ( fmt) func Show1() { fmt.Println(1 is ok)} //gin-2.go package other import ( fmt) func Show2() { fmt.Println(2 is ok)} 四 编译与安装我们的other库 在ohter 父目录下执行 go build other go install other 然后在$GOPATH/pkg/linux_amd64下会找到们生成库other.a 五 祝贺你现在你可以用other这个包了 //gin-main.go package main import ( other) func main() { other.Show1() other.Show2()} //运行 go build gin-main.go ./gin-main1 is ok2 is ok 看我们成功调用了自定义的GO库 开心吧哈哈哈 Finally 这个问题在实际工程开发中意义还是十分巨大的希望你能理解并应用 当然别问我为何你说的这么清楚网上却找不到这样的博文 应该去问那些人为何说不明白哈哈哈哈转载于:https://www.cnblogs.com/woodzcl/p/7560736.html