成都网站建设设计

将想法与焦点和您一起共享

GO导入包报错以及GoLand设置GOPATH的示例分析

本篇文章给大家分享的是有关GO导入包报错以及GoLand设置GOPATH的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

成都创新互联公司专注于企业营销型网站、网站重做改版、德阳网站定制设计、自适应品牌网站建设、H5建站成都商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为德阳等各大城市提供网站开发制作服务。

go,边写边尝试,在导入包那块,需要注意的小点还不少,特此总结。

首先给出一份我实践成功的案例,然后再总结注意的点.

go version go1.16.2 darwin/amd64

目录结构

GO导入包报错以及GoLand设置GOPATH的示例分析

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这一层。 GO导入包报错以及GoLand设置GOPATH的示例分析

关于GOPATH,我参考了这篇文章。http://c.biancheng.net/view/88.html

快速查看可以使用命令(macOS和linux)

go env | grep GOPATH

我使用的是GoLand,就没有去修改env。 GoLand可以直接设置当前项目的GOPATH,支持多个。 GO导入包报错以及GoLand设置GOPATH的示例分析 GO导入包报错以及GoLand设置GOPATH的示例分析

可以分别设置全局和当前项目。

GOPATH之外,还需要注意:

  1. import后面,双引号中的,其实是包所在的文件夹名称(可以直接引用GOPATH目录下src下的文件夹),而非文件中定义的package名(package testPackage)。

  2. 双引号前边的是自定的名字,也不必须是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")
}
  1. 另外,GoLand是可以自动补全的。像这样

GO导入包报错以及GoLand设置GOPATH的示例分析

  1. 被导入的包的函数名首字母大写才能被外部调用(public声明)。

以上就是GO导入包报错以及GoLand设置GOPATH的示例分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


当前标题:GO导入包报错以及GoLand设置GOPATH的示例分析
转载注明:http://chengdu.cdxwcx.cn/article/ghdgse.html