Go 工具

阿迪拐
• 阅读 1393

概念 : go 工具将不同种类的工具集合并未一个命名集。

  • 它是一个包管理器,可以查询包的作者,计算它们之间的依赖,从远程版本控制系统下载它们。
  • 它是一个构建系统,可计算文件依赖,调用编译器,汇编器,和链接器,尽管它没有标准的UNIX make命令完备。
  • 它还是一个测试驱动程序。
go help //查询go工具的命令集

GO环境变量

go env //输出与工具链相关的已经设置有效值的环境变量及其所设置的值。

GOPATH

表示工作空间的根,当需要切换不同工作空间时,更新GOPTH变量的值即可。

export GOPATH=$HOME/gobook

GOPATH有三个子目录:
src子目录包含源文件
pkg子目录是构建工具存储编译后的包的位置
bin子目录放置可执行程序

GOROOT

指定go发行的根目录,提供所有标准库的包,结构类似与GOPATH,例如:fmt包的源代码放在$GOROOT/src/fmt下面,用户无需设置GOROOT。

GOOS

指定目标操作系统,例如:android,linux,darwin,windows

GOARCH

指定目标处理器架构,比如:amd64,386,arm。

包的下载go get

go get 命令可以下载单一的包,也可以使用 ... 符号来下载子树或仓库。
支持多个流行的代码托管站点,如Github,Bitbucket,Launchpad,并且可以向版本控制系统发出合适的请求。
对于不知名的网站,也许需要指出导入路径使用的是哪种版本的控制协议,比如Git,Mercurial。执行go help importpath来获取更多的细节。
go get创建的目录是远程仓库的真是客户端,而不仅仅是文件的副本,这样可以使用版本控制命令查看本地编辑的查一或者更新到不同的版本。
注意:包导入路径中的明显的域名不同于Git服务器的实际域名。包可以在其导入路径中使用兹定于域名。它里面重定向go工具到实际托管地址的Git仓库。
go get -u 命令通常获得每个包的最新版本,生产环境不推荐使用。
通常是加一层vendor目录,构建一个关于所有必须依赖的本地副本,然后非常小心的更新这个副本。
go help gopath 可以查看vendor目录的详细信息。

点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Peter20 Peter20
4年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Stella981 Stella981
4年前
Apache Synapse 远程代码执行漏洞(CVE
!(https://oscimg.oschina.net/oscnet/435fc4cde65d4aee9a2efca3080cb89e.png)0x00事件背景ApacheSynapse是一个简单、轻量级的高性能企业服务总线(ESB),它是在ApacheSoftwareFoun
Stella981 Stella981
4年前
Scapy 从入门到放弃
0x00前言最近闲的没事,抽空了解下地表最强的嗅探和收发包的工具:scapy。scapy是一个python模块,使用简单,并且能灵活地构造各种数据包,是进行网络安全审计的好帮手。0x01安装因为2020年python官方便不再支持python2,所以使用python3安装。!(https://oscimg.oschina.net/os
Wesley13 Wesley13
4年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
4年前
mysql中时间比较的实现
MySql中时间比较的实现unix\_timestamp()unix\_timestamp函数可以接受一个参数,也可以不使用参数。它的返回值是一个无符号的整数。不使用参数,它返回自1970年1月1日0时0分0秒到现在所经过的秒数,如果使用参数,参数的类型为时间类型或者时间类型的字符串表示,则是从1970010100:00:0
Wesley13 Wesley13
4年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
4年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
芝士年糕 芝士年糕
3年前
在centos上安装Anaconda
介绍:Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等Miniconda包括Conda、Pythonconda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换环境:使用3A服务器远程搭建的centos上操作1、使用wget下载安装包wget ht