温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-09-18 10:52:13 来源:亿速云 阅读:284 作者:柒染 栏目:编程语言

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

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的示例分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI