(一)golang工作区

位流露台
• 阅读 4200

环境变量介绍

GOROOT:Golang的安装路径。

GOPATH:可以理解为工作目录或者工作区,也是平时接触最多的一个变量。它可以是一个目录,可以是多个目录路径,每个目录代表一个工作区。这些目录用于放置Go语言的源码文件(src),以及安装(命令go install)后的归档文件(pkg目录)和可执行文件(bin目录)。

GOBIN:GOROOT目录下的可执行文件放置目录,一般指bin。

理解构建和安装Go的过程

go build命令

go build 有很多种编译方法,如无参数编译、文件列表编译、指定包编译等,使用这些方法都可以输出可执行文件。
go build 还有一些附加参数,可以显示更多的编译信息和更多的操作,详见下表所示。

go build编译时的附加参数
-v    编译时显示包名
-p n    开启并发编译,默认情况下该值为 CPU 逻辑核数
-a    强制重新构建
-n    打印编译时会用到的所有命令,但不真正执行
-x    打印编译时会用到的所有命令
-race    开启竞态检测

go run 命令

go run 命令会编译源码,并且直接执行源码的 main() 函数,不会在当前目录留下可执行文件。
工作目录被设置为当前目录。在 go run 的后部可以添加参数,这部分参数会作为代码可以接受的命令行输入提供给程序。
go run 不能使用“go run+包”的方式进行编译,如需快速编译运行包,需要使用如下步骤来代替:

1、使用 go build 生成可执行文件。
2、运行可执行文件。

go install 命令

go install 的功能和 go build 类似,附加参数绝大多数都可以与 go build 通用。go install 只是将编译的中间文件放在 GOPATH 的 pkg 目录下,以及固定地将编译结果放在 GOPATH 的 bin 目录下。

go install 的编译过程有如下规律:
go install 是建立在 GOPATH 上的,无法在独立的目录里使用 go install。
GOPATH 下的 bin 目录放置的是使用 go install 生成的可执行文件,可执行文件的名称来自于编译时的包名。
go install 输出目录始终为 GOPATH 下的 bin 目录,无法使用-o附加参数进行自定义。
GOPATH 下的 pkg 目录放置的是编译期间的中间文件。

go get命令

go get使用时的附加参数
使用 go get 时可以配合附加参数显示更多的信息及实现特殊的下载和安装操作,详见下表所示。

go get 使用时的附加参数
附加参数    备  注
-v    显示操作流程的日志及信息,方便检查错误
-u    下载丢失的包,但不会更新已经存在的包
-d    只下载,不安装
-insecure    允许使用不安全的 HTTP 方式进行下载操作

golang 包命名规则

第一条规则,同目录下的源码文件的代码包声明语句要一致。也就是说,它们要同属于一个代码包。这对于所有源码文件都是适用的。
第二条规则,源码文件声明的代码包的名称可以与其所在的目录的名称不同。在针对代码包进行构建时,生成的结果文件的主名 
称与其父目录的名称一致。(import后面的最后一个元素是路径,就是目录,并非包名。)
点赞
收藏
评论区
推荐文章
胖大海 胖大海
3年前
Git 安装配置
基本概念我们先来理解下Git工作区、暂存区和版本库概念:工作区:就是你在电脑里能看到的目录。暂存区:英文叫stage或index。一般存放在.git目录下的index文件(.git/
Jacquelyn38 Jacquelyn38
4年前
一篇文章带你使用Typescript封装一个Vue组件
搭建项目以及初始化配置vue create tsvuebtn这里使用了vueCLI3自定义选择的服务,我选择了ts、stylus等工具。然后创建完项目之后,进入项目。使用快捷命令code.进入Vscode编辑器(如果没有code.,需要将编辑器的「bin文件目录地址」放到环境变量的path中)。然后,我进入编辑器之后,进入设置工作区,随便设置一个
待兔 待兔
5年前
golang 不翻墙安装golang.org/x/net
下载安装golang.org/x/net其实网上有很多的文章,但总的归来是有两种:方法一:为了使包的导入方式不变,我们需要在src目录下面构造目录结构$mkdirp$GOPATH/src/golang.org/x/$cd$GOPATH/src/golang.org/x/$gitclonehttps://git
Wesley13 Wesley13
4年前
Go项目的目录结构
项目目录结构如何组织,一般语言都是没有规定。但Go语言这方面做了规定,这样可以保持一致性1、一般的,一个Go项目在GOPATH下,会有如下三个目录:|bin|pkg|src其中,bin存放编译后的可执行文件;pkg存放编译后的包文件;src存放项
Stella981 Stella981
4年前
Golang学习之GOROOT、PATH、GOPATH及go get
1\.GOROOTGOPATH及PATH设置a.添加系统变量GOROOT:安装完Go第一件事就是设置GOROOT。例如我的Go安装在C:\\Go目录,则要设置GOROOTC:\\Gob.修改环境变量PATH:将%GOROOT%\\bin加到环境变量PATH里面,这样就可以直接在dos命令模式下任意目录运行%GOROO
Wesley13 Wesley13
4年前
go遇到的坑
GO配置:GOROOT:go的安装路径:C:\\GoGOPATH:go命令安装的包存放的路径,这里放在%GOROOT%\\gocodeGOROOT是不用配置环境变量就可以用的,但是GOPATH要配置才能用,如果没有配置的话默认是在%{USER}%\\go文件夹下。GOPATH可以配置
Stella981 Stella981
4年前
Python常用模块os & sys & shutil模块
OS模块importos'''os.getcwd()获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname")改变当前脚本工作目录;相当于shell下cdos.curdir返回当前目录:('.')os.pardir获取
Wesley13 Wesley13
4年前
(Go)04.go工作区目录规范及简单例子
一.规范目录结构D:\\project\\src\\go\_dev\\day1\\example1!(https://img2018.cnblogs.com/blog/683937/201901/68393720190124112023185189177204.png)二.设置GOPAH环境变量
Wesley13 Wesley13
4年前
GOPATH
\TOC\GOPATH工作目录就是我们用来存放开发的源代码的地方,对应的就是Go里的GOPATH这个环境变量。这个环境变量指定之后,我们编译源代码等生成的文件都会放到这个目录下,GOPATH环境变量的配置参考golang环境搭建(https://www.oschina.net/action/GoToLink?urlhttps%3A%
Stella981 Stella981
4年前
Golang入门教程(十二)安装注意事项
1、$GOPATH(1)go命令依赖一个重要的环境变量:$GOPATH。注:这个不是Go安装目录(2)!(https://oscimg.oschina.net/oscnet/47ce671351caf7d9a7eb67ce65e99f49da7.png)(3)!(https://oscimg.oschina.net/oscne
Stella981 Stella981
4年前
Git(二)Git几个区的关系与Git和GitHub的关联
一、Git的工作区、暂存区和版本库之间的区别和联系  1)工作区    在PC中能看得到的创建的一个管理仓库的目录。比如目录下GitTest里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。    !(https://oscimg.oschina.ne