解决GOPATH在GOLAND中的坑
作者:py鱼 发布时间:2023-07-12 23:46:16
首先我的环境已配置好:
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我一般去掉勾选,因为我习惯每个项目单独一个环境,不与其他项目公用
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
来源:https://www.cnblogs.com/pyyu/p/8031254.html
猜你喜欢
- Scrapy是什么?先看官网上的说明,http://scrapy-chs.readthedocs.io/zh_CN/latest/intro
- 1:安装xlsx和file-savernpm install file-saver xlsx --save2:创建localEx
- 将list拼接为一个字符串在 python 中如果想将 list 拼接为一个字符串,可使用 join() 方法。join() 方法描述将序列
- 前台页面 $.ajax({ type: "post", contentType: "application/j
- 1、将css与javascript全部用下边的方法分离到外部文件中去。<link rel="stylesheet"
- 本文实例讲述了Python实现合并同一个文件夹下所有txt文件的方法。分享给大家供大家参考,具体如下:一、需求分析合并一个文件夹下所有txt
- 下面是实现代码# coding:utf-8import time, serialfrom struct import *import bin
- 看了不少朋友的个人网站,有一个小问题,似乎很多朋友都忽略了,那就是版权声明的写法。虽然那只是一小行字,不过作为设计师也好,作为个人的爱好也好
- 引言你知道什么是依赖注入吗?依赖注入(DI)的概念虽然听起来很深奥,但是如果你用过一些新兴的php框架的话,对于DI一定不陌生,因为它们多多
- 我就废话不多说了,还是直接上代码吧!import osimport xml.dom.minidomimport cv2 as cvImgPa
- 前言随着人工智能的日益火热,计算机视觉领域发展迅速,尤其在人脸识别或物体检测方向更为广泛,今天就为大家带来最基础的人脸识别基础,从一个个函数
- 在开发django应用的过程中,使用开发者模式启动服务是特别方便的一件事,只需要 python manage.py runserver 就可
- 训练用PyTorch编写的LSTM或RNN时,在loss.backward()上报错:RuntimeError: Trying to bac
- 1. 原地排序:采用sort()方法,按照指定的顺序排列数据后用排序后的数据替换原来的数据(原来的顺序丢失),如:>>>
- 前言本篇文章主要介绍,如何利用Python来实现将文字转成语音。将文字转成语音主要有两种不同的实现方法:先将文字转成语音,然后再通过读取语音
- WingIDE的使用好的工具可以让你做事时,事半功倍!这一点在写代码的过程中尤为明显,使用Pyhton写程序有一年多了!各类编辑器IDE也使
- 在设计网页时,经常遇到某些页面需限权访问的情况。比如,一个公司的某些产品只让某一或某些供应商或客户浏览。那么,我们如何实现这一功能呢?本文,
- 由于CPython实现中的GIL的限制,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大
- 简介在日常的Python开发中,处理时间和日期的需求是非常常见的。尽管Python内置了 datetime 和 time 模块,但在某些情况
- python的try语句有两种风格一是处理异常(try/except/else)二是无论是否发生异常都将执行最后的代码(try/finall