Golang环境安装

785 阅读4分钟

这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战

Go语言简介

什么是Go语言

  Go语言是谷歌2009发布的第二款开源编程语言。

  Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

  Go 语言具有很强的表达能力,它简洁、清晰而高效。得益于其并发机制, 用它编写的程序能够非常有效地利用多核与联网的计算机,其新颖的类型系统则使程序结构变得灵活而模块化。

  Go 代码编译成机器码不仅非常迅速,还具有方便的垃圾收集机制和强大的运行时反射机制。 它是一个快速的、静态类型的编译型语言,感觉却像动态类型的解释型语言。

Go语言起源

  Go 语 言 起 源 2007 年, 并 于 2009 年 正 式 对 外 发 布。 它 从 2009 年 9 月 21 日 开 始 作 为 谷 歌 公 司 20% 兼 职 项 目, 即 相 关 员 工 利 用 20% 的 空 余 时 间 来 参 与 Go 语 言 的 研 发 工 作。 该 项 目 的 三 位 领 导 者 均 是 著 名 的 IT 工 程 师: Robert Griesemer, 参 与 开 发 Java HotSpot 虚 拟 机; Rob Pike, Go 语 言 项 目 总 负 责 人, 贝 尔 实 验 室 Unix 团 队 成 员, 参 与 的 项 目 包 括 Plan 9, Inferno 操 作 系 统 和 Limbo 编 程 语 言; Ken Thompson, 贝 尔 实 验 室 Unix 团 队 成 员, C 语 言、 Unix 和 Plan 9 的 创 始 人 之 一, 与 Rob Pike 共 同 开 发 了 UTF-8 字 符 集 规 范。 自 2008 年 1 月 起, Ken Thompson 就 开 始 研 发 一 款 以 C 语 言 为 目 标 结 果 的 编 译 器 来 拓 展 Go 语 言 的 设 计 思 想。

Ivo Balbaert. Go入门指南——The Way to Go(中文版) (Kindle 位置 112-117). 人民邮电出版社.

Go语言特点

  • 简洁、快速、安全
  • 并行、有趣、开源
  • 内存管理、数组安全、编译迅速

GO语言应用场景

  • 服务器编程, 如处理日志、数据打包、虚拟机处理、文件系统等
  • 分布式系统 (数据库代理、中间件)
  • 网络编程 (web应用、api应用)
  • 云平台 例如 docker、k8s都是go语言开发的

Go语言官网

https://golang.org/

如果访问速度慢或者无法访问请访问谷歌中国官网

https://golang.google.cn/

Go语言windows/.macOS/linux/raspberryPi开发环境安装是编程的第一步,也是最简单的. 现在我们就就开始安装最新的go语言开发环境.这篇文章的时候go版本号1.12.9 最新的下载页面

从Go 1.13开始,go命令默认使用Go模块镜像和Go运行的校验和数据库来下载和验证模块. 有关这些服务的隐私信息,请参阅proxy.golang.org/privacy ; 有关 配置详细信息, 请参阅 go命令文档,包括如何禁用这些服务器或使用不同的服务器.

windows和mac安装最为简单

windows msi安装Go语言环境

  • 下载安装包msi文件 https://dl.google.com/go/go1.12.9.windows-amd64.msi, 1.12.9 您可以替换成您想要的版本
  • 下载完成之后双击go1.12.9.windows-amd64.msi安装文件,同意协议,选择安装路径,勾选自动给您添加环境变量
  • 检查go是否安装成功, 在git-bash或者powershell或者CMD中敲入 go env
  • 墙内用户设置环境变量goproxyhttps://goproxy.io 或者 https://mirrors.aliyun.com/goproxy/

macOS pkg安装Go语言环境

  • 下载安装包pkg文件 https://dl.google.com/go/go1.12.9.darwin-amd64.pkg, 1.12.9 您可以替换成您想要的版本
  • 下载完成之后双击go1.12.9.darwin-amd64.pkg安装文件,同意协议,选择安装路径,勾选自动给您添加环境变量
  • 检查go是否安装成功, 在terminal中敲入 go env
  • 墙内用户设置环境变量goproxyhttps://goproxy.io 或者 https://mirrors.aliyun.com/goproxy/ vim ~/.bashrc 或者 vim /etc/profile 在文件最后添加 export GOPROXY=https://goproxy.io 或者 export GOPROXY=https://mirrors.aliyun.com/goproxy/ :wq 命令保持文件, 在终端中执行 source /etc/profile 或者 source ~/.bashrc

linux/centos/ubuntu 二进制装Go语言环境

下载安装二进制安装包

VERSION='1.12.9';#设置go语言版本 指定您的版本
OS=linux # 可选值 linux darwin
ARCH=amd64 #可选值 但是必须与您的操作系统匹配 amd64, 386, arm (树莓派raspberryPi3), arm64, s390x, ppc64le
GZFILE="go$VERSION.$OS-$ARCH.tar.gz" # 下载的安装名称包含arch
wget "https://dl.google.com/go/${GZFILE}";
rm -rf /usr/local/go; # 删除旧的go安装文件
tar -C /usr/local -xzf $GZFILE; #解压文件到 /usr/local/go目录中

墙内用户设置环境变量goproxyhttps://goproxy.io 或者 https://mirrors.aliyun.com/goproxy/ vim ~/.bashrc 或者 vim /etc/profile 在文件最后添加 export GOPROXY=https://goproxy.io 或者 export GOPROXY=https://mirrors.aliyun.com/goproxy/ :wq 命令保持文件, 在终端中执行 source /etc/profile 或者 source ~/.bashrc

当然以上命令也使用于macOS系统但是要选择适合的arch 操作系统

windows 设置goproxy教程,下载墙外的go依赖包

在Windows Powershell中,您可以执行以下命令.

# Enable the go modules feature
$env:GO111MODULE=on
# Set the GOPROXY environment variable
# 或者设置成阿里云的镜像 https://mirrors.aliyun.com/goproxy/
$env:GOPROXY=https://goproxy.io

现在,当您构建并运行应用程序时,go将通过goproxy代理获取依赖项.

如果您的Go版本> = 1.13,则GOPRIVATE环境变量控制go命令认为哪些模块是私有的(不公开),因此不应使用代理或校验和数据库.例如: go version > = 1.13

go env -w GOPROXY=https://goproxy.io,direct
# Set environment variable allow bypassing the proxy for selected modules
# 设置.corp.example.com 包名的依赖不使用goproxy代理
go env -w GOPRIVATE=*.corp.example.com

The End

线上交流工具: 在你的terminal中输入 ssh $用户@mojotv.cn

在你的terminal中输入 ssh mojotv.cn hn 查看最新 hacknews