go安装教程

下载

官方个版本下载地址,需要翻墙:Downloads - The Go Programming Language (golang.org)

Windows安装

一. 下载文件安装

目前最新稳定版本是go1.15,windows下载地址:go1.15.5

  1. 打开下载的文件,然后下一步、下一步,默认安装在C:\Go目录下,如需要可以安装的时候更改,也可以在重新打开命令程序安装。

  2. 确认已经安装好Go,cmd命令打开命令窗口,输入如下命令:

    $ go version
    

二. 使用scoop 安装

scoop是社区提供的windows包管理工具解决方案,可以使用命令行安装windows应用程序

打开命令行输入如下命令,搜索go:

$ scoop search go

输入如下命令安装:

$ scoop install go  

安装完成后,输入go version查看当前安装的版本,也可以使用scoop install go@1.14.3安装指定的版本,scoop uninstall go可以删除安装包

Linux安装

  1. 下载档案文件并解压至 /usr/local 目录,在 /usr/local 目录创建 go 目录树

    例如,以 root 身份或者 sudo 方式运行以下命令:

    tar -C /usr/local -xzf go1.15.5.linux-amd64.tar.gz
    
  2. 将 /usr/local/go/bin 目录添加至 PATH 环境变量

    您可以将下方的命令添加至 $HOME/.profile 或 /etc/profile (给所有系统用户) 来完成环境变量的添加:

    将 /usr/local/go/bin 目录添加至 PATH 环境变量  
    
  3. 安装完成后,输入go version查看当前安装的版本

设置Go Modules 和 代理

Go Modules 是 Go 语言依赖管理解决方案

mod文件字段内容

go.mod 是启用了 Go moduels 的项目所必须的最重要的文件,它描述了当前项目(也就是当前模块)的元信息,每一行都以一个动词开头,目前有以下 5 个动词:

  • module:用于定义当前项目的模块路径。
  • go:用于设置预期的 Go 版本。
  • require:用于设置一个特定的模块版本。
  • exclude:用于从使用中排除一个特定的模块版本。
  • replace:用于将一个模块版本替换为另外一个模块版本。

打开go.mod

  1. 打开 Go modules:go env -w GO111MODULE=on
  2. 设置 GOPROXY:go env -w GOPROXY=https://goproxy.cn,direct # 在中国是必须的,因为它的默认值被墙了。
  3. 在你项目的根目录下执行 go mod init <OPTIONAL_MODULE_PATH> 以生成 go.mod 文件。

Go modules常用命令

  1. go help module-getgo help gopath-get分别去了解 Go modules 启用和未启用两种状态下的 go get 的行为

  2. go get 拉取新的依赖

    • 拉取最新的版本(优先择取 tag):go get golang.org/x/text@latest
    • 拉取 master 分支的最新 commit:go get golang.org/x/text@master
    • 拉取 tag 为 v0.3.2 的 commit:go get golang.org/x/text@v0.3.2
    • 拉取 hash 为 342b231 的 commit,最终会被转换为 v0.3.2:go get golang.org/x/text@342b2e
    • go get -u 更新现有的依赖
    • go mod download 下载 go.mod 文件中指明的所有依赖
    • go mod tidy 整理现有的依赖
    • go mod graph 查看现有的依赖结构
    • go mod init 生成 go.mod 文件 (Go 1.13 中唯一一个可以生成 go.mod 文件的子命令)
  3. go mod edit 编辑 go.mod 文件

  4. go mod vendor 导出现有的所有依赖 (事实上 Go modules 正在淡化 Vendor 的概念)

  5. go mod verify 校验一个模块是否被篡改过

推荐阅读更多精彩内容

  • 前言 本静态站点用于演示之用,使用 Hugo 构建,以及 Markdown 供应内容。 流行的静态站点框架有以下几...
    坚果jimbowhy阅读 1,955评论 1 1
  • Go 1.11 Modules翻译自 Go 官方wiki # Go 1.11 Modules 根据[提议](htt...
    drawing818阅读 1,248评论 0 0
  • File types(文件类型) go命令检查目录中特定文件的集合。它根据文件的扩展名表示要检查的文件。这些扩展名...
    Cxb168阅读 1,152评论 0 0
  • 原文链接 https://golang.org/cmd/go/由于内容过长,分两次发布 Go 是一个用来管理Go源...
    Cxb168阅读 987评论 0 0
  • 1. 简介 GO Modules 也称作 go mod 是golang 官方最新的几个golang 版本中推出的 ...
    楚江云阅读 882评论 0 2
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 6,719评论 16 21
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 9,694评论 0 10
  • 可爱进取,孤独成精。努力飞翔,天堂翱翔。战争美好,孤独进取。胆大飞翔,成就辉煌。努力进取,遥望,和谐家园。可爱游走...
    赵原野阅读 2,335评论 1 1
  • 在妖界我有个名头叫胡百晓,无论是何事,只要找到胡百晓即可有解决的办法。因为是只狐狸大家以讹传讹叫我“倾城百晓”,...
    猫九0110阅读 2,674评论 7 3