当前位置: 首页 > 编程笔记 >

解决GOPATH在GOLAND中的坑

韦鸣
2023-03-14
本文向大家介绍解决GOPATH在GOLAND中的坑,包括了解决GOPATH在GOLAND中的坑的使用技巧和注意事项,需要的朋友参考一下

首先我的环境已配置好:

GO的目录结构是:

add.go

package calc
//函数名必须大写首字母,不然外部包找不到
func Add(a int,b int)(int){
 return a+b
}

sub.go

package calc
func Sub(a int,b int)(int){
 return a-b
}

执行文件,main.go

package main
import "fmt"
//导入包路径,这里src省略,默认加在GOPATH
import "go_dev/day1/package_example/calc"
func main(){
 sum := calc.Add(100,300)
 sub := calc.Sub(200,100)
 fmt.Println(sum,sub)
}

在cmd正确执行是:

这样是没问题的,GOPATH已经确定正确

但是GOLAND有个坑

在IDE中执行一直报错:

这里的GOPATH已经出错了,所以编译找不到,我检查了go env也是正确的GOPATH....

原来我忘记了GOLAND IDE中也有设置:

在这里修改为正确的GOPATH,再次执行:

没毛病了 :)

补充:golang的gopath和goroot

近期入门golang,第一个坑 gopath和goroot。在此做个记录用

我的环境:

golang 1.9.4

centos7.5 x64

安装略过。

大致介绍:

gopath:golang的工作目录和go get下载目录,项目目录。

goroot:golang的语言安装目录

GOPATH设置

go 命令依赖一个重要的环境变量:$GOPATH

(注:这个不是Go安装目录。下面以笔者的工作目录为示例,如果你想不一样请把GOPATH替换成你的工作目录。)

在类 Unix 环境下大概这样设置:

export GOPATH=/tmp/mygo

GOPATH允许多个目录,当有多个目录时,请注意分隔符,Linux系统是冒号,当有多个GOPATH时,默认会将go get的内容放在第一个目录下。

$GOPATH 目录约定有三个子目录:

GOPATH下的src目录就是接下来开发程序的主要目录,所有的源码都是放在这个目录下面,那么一般我们的做法就是一个目录一个项目,例如: $GOPATH/src/mymath 表示mymath这个应用包或者可执行应用,这个根据package是main还是其他来决定,main的话就是可执行应用,其他的话就是应用包,这个会在后续详细介绍package。

src 存放源代码(比如:.go .c .h .s等)

pkg 编译后生成的文件(比如:.a)

bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录)

我用是

这个开发在设置中

其中index entire GOPATH我一般去掉勾选,因为我习惯每个项目单独一个环境,不与其他项目公用

以上为个人经验,希望能给大家一个参考,也希望大家多多支持小牛知识库。如有错误或未考虑完全的地方,望不吝赐教。

 类似资料:
  • 问题内容: 我正在尝试使用以下命令安装golint:go get -u golang.org/x/lint/golint。而且我认为我遇到两个问题: 然后我尝试安装golang / tools,也失败了… 问题答案: 看来您在$ GOPATH /(在之下)中有一个文件。您应该删除它。另外,由于您使用的是Go 1.11或更高版本,因此可以直接在GOPATH /包含文件的任何目录的外部或直接在父目录中

  • GoLand 是 JetBrains 公司推出的 Go 语言集成开发环境。GoLand 同样基于 IntelliJ 平台开发,支持 JetBrains 的插件体系。

  • 问题内容: 我正在尝试将我的项目目录添加到GOPATH,在Linux中,我可以这样做 在〜/ .bashrc中 Powershell中的等效性是什么 问题答案: 这应该遵循您使用Powershell设置任何Environment变量的方式(如本文所述): 如果您希望它永久存在(即将来将适用于任何外壳程序): 需要注意的一件事:当我们用来创建新的用户或计算机级环境变量时,在Windows Power

  • 问题内容: 我是GO的新手,在Windows中初始化GOPATH时遇到错误。在我的项目文件夹中是 C:\ Users \ kamin \ Documents \ pm-manager 我试图在环境变量(GOPATH)中设置路径,但是却出错了:GOPATH条目是相对的;必须为绝对路径:“:/ cygdrive / c / Users / kamin / Documents / pm-manager

  • 问题内容: 我在Mac OS X中安装了Go 1.4。以前我有Go 1.0。我将GOROOT和PATH设置如下, Go安装在“ / usr / local / go / bin / go”中。然后将GOPATH设置为我的项目src目录。我可以在目录中运行go代码。但是,当我尝试安装gocql时,出现错误。 有人可以帮我吗?谢谢 编辑1: @VonC我也尝试了其他选项。我将GOROOT更改为go的安

  • 主要内容:创建项目,编辑运行/调试配置,编写并运行代码上一节详细介绍了 Goland 的安装和破解,本节我们来介绍一下怎么使用 Goland 来创建并运行一个项目。 创建项目 首先,在“文件”菜单中找到“New”,并在下一级菜单中选择“Project”来创建一个新项目。  在菜单中选择新建项目 为项目选择一个目录(尽量选择空目录),并点击“Create”完成创建。 创建项目 编辑运行/调试配置 每次创建项目之后,我们都需要对 Goland 进行一些配