Golang环境安装

简介: Golang环境安装

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语言环境

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


目录
相关文章
|
5月前
|
Go
golang环境安装异常【已解决】
golang环境安装异常【已解决】
26 2
|
Linux Go Windows
golang环境安装
golang环境安装
113 1
|
Linux Go Windows
|
程序员 Go 开发工具
【第二章:Golang系列篇】Go基础-环境安装、Go程序初体验
【第二章:Golang系列篇】Go基础-环境安装、Go程序初体验
119 0
|
Go Windows
windows下golang环境安装-详细教程
windows下golang环境安装-详细教程
171 0
windows下golang环境安装-详细教程
|
Go
golang环境安装异常【已解决】
golang环境安装异常【已解决】
182 0
golang环境安装异常【已解决】
|
2月前
|
Go
Golang语言之管道channel快速入门篇
这篇文章是关于Go语言中管道(channel)的快速入门教程,涵盖了管道的基本使用、有缓冲和无缓冲管道的区别、管道的关闭、遍历、协程和管道的协同工作、单向通道的使用以及select多路复用的详细案例和解释。
111 4
Golang语言之管道channel快速入门篇
|
2月前
|
Go
Golang语言文件操作快速入门篇
这篇文章是关于Go语言文件操作快速入门的教程,涵盖了文件的读取、写入、复制操作以及使用标准库中的ioutil、bufio、os等包进行文件操作的详细案例。
66 4
Golang语言文件操作快速入门篇
|
2月前
|
Go
Golang语言之gRPC程序设计示例
这篇文章是关于Golang语言使用gRPC进行程序设计的详细教程,涵盖了RPC协议的介绍、gRPC环境的搭建、Protocol Buffers的使用、gRPC服务的编写和通信示例。
101 3
Golang语言之gRPC程序设计示例
|
2月前
|
安全 Go
Golang语言goroutine协程并发安全及锁机制
这篇文章是关于Go语言中多协程操作同一数据问题、互斥锁Mutex和读写互斥锁RWMutex的详细介绍及使用案例,涵盖了如何使用这些同步原语来解决并发访问共享资源时的数据安全问题。
86 4