Go入手与避坑

本文介绍了Go语言的基本使用注意事项,包括导入包的路径要求,必须在GOROOT或GOPATH下,以及主文件需以`package main`开头并包含`main()`函数。此外,还讲解了如何通过修改GOPATH来解决依赖问题,并提到了Go项目的目录结构。最后,列举了一些常用的Go命令。
摘要由CSDN通过智能技术生成

最近模型工程部分需要用到go。第一次用,把需要注意的写一下。
我go用的GOPATH管理依赖。

1、import的包一定要么在GOPATH,要么在GOROOT

不然你执行程序会找不到包,执行不了。

我理解的go自带的一些包在GOROOT下,而自己搞到的一些包(自己项目需要依赖的)必须得搞到GOPATH下。

简单说,就是 import (“…” …)里的包要么在GOROOT下,要么GOPATH下。

所以项目import的包如果没有在的话,就一定要给它加到GOPATH中去。
主要分为两种情况:

  • a)要依赖的包直接就在GOPATH下。比方,go get github.com/zhangsan/jieba拉了一个github的代码库,它会自动被放在GOPATH下,其源文件在GOPATH/src下。
  • b)要依赖的包没有在GOPATH下。 比方,我项目里面的一个xxxx.go文件,需要依赖同事M写的lifeUnderstand项目下的某个文件下的xx.go文件里的方法(lifeUnderstand /src/women/young/xx.go)import “women/young”。如果不修改GOPATH,那么就会出现:
    connot find package"women/young" in any of :
    GOROOT/src/women/young (from $GOROOT)
    GOPATH/src/women/young(from $GOPATH)

怎么解决呢:
可以这样搞:修改环境变量,更改GOPATH。
vim ~/.bash_profile
export GOPATH=/home/bae/.jumbo/lib/go/site 假如这是原来的GOPATH (go env可以查到)
修改为:export GOPATH=/home/bae/.jumbo/lib/go/site:/xxx/xxx/lifeUnderstand
source ~/.bash_profile
完成。

注意lifeUnderstand项目下必须得有src,然后才是源码,运行代码找依赖的时候,会去找src,在src下找。

另外补充(from一个博主):
go_project // (go_project为GOPATH目录)
– bin // golang编译可执行文件存放路径
– pkg // golang编译包时,生成的.a文件存放路径
– src // 源码路径。按照golang默认约定,go run,go install等命令的当前工作路径(即自动去src下找文件)。

2、要输出的go文件,必须首行package main,主函数写main()

3、常用命令

go clean -modcache
go mod tidy
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值