我们接下来一个一个来看关于Go语言中的三个目录的详细解释

先通过go env查看go的环境变量(我这里是window的环境,所以可能和你的不一样)

C:\Users\bkzwh>go env
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\bkzwh\AppData\Local\go-build
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\GoProject
set GORACE=
set GOROOT=C:\Go
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\bkzwh\AppData\Local\Temp\go-build567847898=/tmp/go-build -gno-record-gcc-switches
一.GOROOT
其实就是golang 的安装路径
当你安装好golang之后其实这个就已经有了

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

其实可以把这个目录理解为工作目录,我个人定义的目录是:
GOPATH="D/GoProject"
当然这个目录是需要添加到环境变量中的

GoProject // (GoProject为GOPATH目录)
-- bin // golang编译可执行文件存放路径
-- pkg // golang编译包时,生成的.a文件存放路径
-- src // 源码路径。按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。

三.GOBIN
首先在GoProject 下新建三个文件夹 bin、pkg、src在src下新建helloworld文件夹,其中写代码

我们通常是在GoProject目录下执行go build,例如:

D:\GoProject\src\helloworld>go run hello.go
Hello ,world
 现在需要编译hello.go,golang 会自动去src下找helloworld目录,因为我的hello.go中代码的开通导入了packag main包,所以可以编译成可执行文件

D:\GoProject\src\helloworld> cd d:/GoProject
 
d:\GoProject> go build helloworld
这样默认在当前目录下生成可执行文件 helloworld.exe

虽然可以指定目录,但是还是感觉不是非常方便,所以还有两个非常好用的命令:go get 和go install

四.go get go install
go get会做两件事:
1. 从远程下载需要用到的包
2. 执行go install

go install 会生成可执行文件直接放到bin目录下,当然这是有前提的
你编译的是可执行文件,如果是一个普通的包,会被编译生成到pkg目录下该文件是.a结尾

d:\GoProject>
d:\GoProject>go install helloworld

参考文章地址:

https://www.cnblogs.com/pyyu/p/8032257.html

https://www.cnblogs.com/zhaof/p/7906722.html

Go入门之——GOROOT、GOPATH、GOBIN 、Project目录相关推荐

  1. 初学者没有搞明白的GOROOT,GOPATH,GOBIN,project目录

    我们接下来一个一个来看关于Go语言中的三个目录的详细解释 先通过go env查看go的环境变量(我这里是mac的环境,所以可能和你的不同) localhost:~ zhaofan$ go env GO ...

  2. [Golang] GOROOT、GOPATH和Project目录说明

    go env环境查看 用go env 可查看当前go环境变量. $ go env GOARCH="amd64" GOBIN="" GOEXE="&qu ...

  3. GOROOT、GOPATH、GOBIN、project目录

    2019独角兽企业重金招聘Python工程师标准>>> GOROOT golang安装路径. GOPATH 官方解释,请google.go工作环境中常常用到的一个很重要的环境变量(这 ...

  4. 小议并实战go包------顺便说说go中的GOROOT,GOPATH和src,pkg,bin

    前些天带爸妈去上海.杭州玩了一下, 感觉很久没写博客了. "协程"在手, 说go就go. 以后尽量少扯C++, 多说go, 本文来说说go中的一些基本概念,如包,import, G ...

  5. TurboLinux入门教程:第九课文件与目录操作(转)

    TurboLinux入门教程:第九课文件与目录操作(转) 第九课 文件与目录操作 用户的数据和程序大多以文件的形式保存.用户使用Linux系统的过程中,需要经常对文件和目录进行操作.本章讲述了文件与目 ...

  6. go语言工作目录都有什么?GOPATH下的目录结构

    认识一下Go语言环境配置(配置环境变量以及解读工作目录) (一)设置环境变量 (1)GOROOT: 为了方便计算,找到我们所安装的SDK,路径一般写到bin目录的上一级,就是go的安装路径,也是为了方 ...

  7. 【Golang】GOOROOT/GOPATH/GOBIN

    GOROOT 用途 Go语言安装根目录的,也就是GO语言的安装路径 GOBIN 用途 GO程序生成的可执行文件的路径 GOPATH 用途 若干工作区目录的路径,是我们自己定义的工作空间 Go 语言的源 ...

  8. 如何理解Go语言的GOROOT/GOPATH

    可以简单理解为: $GOPATH 是go的工程目录 /home/guest/gocode ├── bin ├── pkg └── src $GOROOT 是go的安装目录 /home/guest/to ...

  9. OpenI入门-自己动手new一个Project

    看了很久的资料,最终迫于项目人力不足,目前只有我一个人在半开发阶段,还是不得不"拜倒在"OpenI的石榴裙下,一直在网上查相关的入门资料,结果最多也就是给介绍下怎么运行官方的Dem ...

最新文章

  1. linux下.rar的文件,Linux下.rar压缩文件处理 (RAR 4.11 for linux )
  2. 使用nvl就不能groupby了吗_宝妈月子期间真的不能吃酱油、醋、葱姜蒜吗?金牌月嫂教你月子餐调味料使用大全!...
  3. react hooks使用_如何开始使用React Hooks:受控表格
  4. vue导入静态js_如何在vue js中加载静态图像
  5. 十年千篇!人脸识别相关技术最全论文合辑
  6. java web远程调试工具_java远程调试 - Dendy的个人页面 - OSCHINA - 中文开源技术交流社区...
  7. 用python爬小说_5分钟带你用Python爬完《剑来》小说(附完整代码)!
  8. 对象字段java_Java的类,对象以及字段和方法
  9. UIPikerView的属性
  10. 她是北大“一个人的毕业照”主人公,2010 级古生物专业独苗,十年后转行搞起了 NLP...
  11. 智能优化算法之模拟退火(Simulated Annealing,SA)-附源码
  12. java常见异常和代码演示
  13. 智慧电力信息化系统建设整体方案
  14. ceph 部署后rbd块设备读写只有10M左右,慢的更龟速一样,怎样解决!,求各位博友指点……,感激不尽……...
  15. lombok 基础注解之 @Cleanup
  16. web咸鱼自救攻略--typescript的类没有你想象中的那么难
  17. 微信公众平台 服务器配置 提示token验证失败
  18. 电信物联网平台,java后台对接电信北向应用,订阅平台消息
  19. Java 实现四位数的吸血鬼算法
  20. 17 个 JVM 参数

热门文章

  1. JAVA设计模式 - 代理模式
  2. IDEA中引入和启动TOMCAT的本质
  3. 怎么用计算机看,如何巧妙的查看电脑使用痕迹
  4. 全网最好懂的Spring AOP原理
  5. MySQL 8下忘密码后重置密码的办法(MySQL5老方法不灵了)
  6. Redis(三)、支持数据类型及常用操作命令
  7. go语言switch语句用法
  8. 如何在MyEclipse中建立一个代理服务器
  9. 设置内外网互发电子邮件(exchange2010)
  10. asp.net获取当前页面的url地址