内容简介:升级go语言版本建议去官网下载最新的工具包go语言的源码是以代码包为基本组织单位的,在文件系统中,代码包是和目录一一对应的
升级 go 语言版本
建议去官网下载最新的 工具 包
-
工作区
工作区就是程序工作的地方,里面包含go语言的编写源码文件,已经install 安装后的归档文件,以.a为扩展名的文件
-
GOPATH
环境变量GOPATH 的值可以是一个目录的路径,也可以包含多个目录的路径,每个路径代表一个工作区
-
GOROOT
-
GOBIN
代码包的概念
go语言的源码是以代码包为基本组织单位的,在文件系统中,代码包是和目录一一对应的
1.一个代码包可以有多个以.go为扩展名的源码文件组成如下,demo1.go demo2.go 和 main.go 都属于代码包main,注意同一个目录下的.go 文件只能属于一个代码包
image.png
如何声明文件属于那个代码包呢?demo1.go demo2.go 和 main.go 文件的头部写上下面的声明
package main
注意这里的main 是包名,但是这个名字可以不和目录名一致,如果不一致,则在构建和安装的时候,已包名为准
2.代码包下面可以有子代码包,如下
image.png
下面看一张go工作区的结构图
image.png
go 目录就是GOROOT
src 就是源码文件存放的目录
pkg 安装后如果产生归档文件就会存放在这里
bin 如果产生了可执行的文件就会存放在这里
安装包
在命令行执行安装包命令,将我们的项目文件源码目录awesomeProject就安装到了pkg指定的文件夹下
go install awesomeProject
image.png
如果安装的是命令源码文件,则编译后的结果文件会被存放在目录下
下面我们演示一下安装main包,main.go 是一个可执行文件,里面写了一个main 函数
go install awesomeProject/main
在bin 文件中发现了可执行文件main,
image.png
可以双击进行打开
image.png
如果我们把main.go 的文件中的main函数该一个名字例如 goPrint ,那么在执行安装包文件
你就会发现如下错误,
image.png
所以安装的命令源码文件时,必须包含main函数
构建
构建就是生成目标可执行文件的过程,命令行工具,使用cd 命令进入到go文件所在的文件夹中执行下面的命令
go build main.go
会在当前目录生成一个main的文件,这个文件就是可执行文件
image.png
双击打开,执行
image.png
go build 默认不会编译源码文件中依赖的那些包的,但是如果被依赖的那些包的归档文件不存在,即不在pkg包中,或者源码有个更改,那么它还是会被编译的
- 如果强制编译依赖文件请使用下面的命令
go build -a main.go
-
如果不仅要编译依赖的代码包,还要安装他们的归档文件,那么可以加入标记 -i
go build -i main.go
-
如果想知道编译的过程,请使用下面的命令
go build -x main.go
image.png
- 如果指向查看编译过程,而不真的执行编译
go build -n main.go
image.png
- 如果想要查看编译都执行了那些依赖包可以使用下面的命令
go build -v main.go go build -v -a main.go // 依赖的文件全部执行编译
image.png
go get 命令
会自动从一些主流公用代码仓库 如github 下载
-u 下载并安装代码包,不管代码中是否存在
-d 只下载代码包,不安装代码包
-fix 在下载代码包后选运行一个用于根据当前Go语言版本修正代码的工具,然后再安装代码包
-t 同时下载测试所需的代码把
-insecure 允许通过非安全的网络协议下载和安装的代码包。
代码远程导入的方式如下
package semaphore // import "golang.org/x/sync/semaphore"
解释如果此代码包存在github网站的golang组的sync代码仓库的sempahore 目录下,如果按照相面的写法声明,
则安装该包的命令可以如下
go get golang.org/x/sync/semaphore
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Go-工作区和GOPATH
- Golang – 如何在工作区中定义多个项目
- golang-101-hacks(2)——创建GO工作区
- xplat 8.0.5发布,Nx 工作区的跨平台工具
- 使用Ext JS社区版的快速模版:包(packages)与工作区(workspace)
- ASP.NET Core模块化前后端分离快速开发框架介绍之3、数据访问模块介绍
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
机器与人:埃森哲论新人工智能
【美】保罗•多尔蒂 詹姆斯•威尔逊 / 赵亚男 / 中信出版社 / 2018-10-1 / 49.00元
自人工智能问世以来,人们普遍持有人机对立的观点,且无时无刻不在害怕自己的工作会被人工智能取代。作者认为,是时候抛开这些无谓的担忧了,因为人类社会正走向一个与机器共融共生的时代。 未来的新型工作模式是什么?未来有哪些工作不会被人工智能取代?人工智能时代重要的生存技能是什么?本书围绕这三大核心问题做了透彻的分析。作者带我们见识了置于业务流程背景之下的人工智能,阐述了其在不同职能部门中起到的推动作......一起来看看 《机器与人:埃森哲论新人工智能》 这本书的介绍吧!