扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇文章给大家分享的是有关GO导入包报错以及GoLand设置GOPATH的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
成都创新互联公司专注于企业营销型网站、网站重做改版、德阳网站定制设计、自适应品牌网站建设、H5建站、成都商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为德阳等各大城市提供网站开发制作服务。
go,边写边尝试,在导入包那块,需要注意的小点还不少,特此总结。
首先给出一份我实践成功的案例,然后再总结注意的点.
go version go1.16.2 darwin/amd64
目录结构
main.go
package main import testPackage "test" func main() { testPackage.Test() }
TestPackage.go
package testPackage import "fmt" func Test () { fmt.Println("test_success") }
我的GOPATH设置的是到go_practice这一层。
关于GOPATH,我参考了这篇文章。http://c.biancheng.net/view/88.html
快速查看可以使用命令(macOS和linux)
go env | grep GOPATH
我使用的是GoLand,就没有去修改env。 GoLand可以直接设置当前项目的GOPATH,支持多个。
可以分别设置全局和当前项目。
GOPATH之外,还需要注意:
import后面,双引号中的,其实是包所在的文件夹名称(可以直接引用GOPATH目录下src下的文件夹),而非文件中定义的package名(package testPackage)。
双引号前边的是自定的名字,也不必须是package名,例如我将main文件改为"haha",也一样可以成功:
package main import haha "test" func main() { haha.Test() }
所以其实文件中的package定义的包名,只是需要同一个文件夹下所有文件保持一致,包名和文件夹名称并不是强制要求统一的。
不过统一起来会更方便,可以直接通过包名调用方法,不再需要起别名。
package main import "test" func main() { test.Test() }
package test import "fmt" func Test () { fmt.Println("test_success") }
另外,GoLand是可以自动补全的。像这样
被导入的包的函数名首字母大写才能被外部调用(public声明)。
以上就是GO导入包报错以及GoLand设置GOPATH的示例分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流