原文转载自「刘悦的技术博客」https://v3u.cn/a_id_222

Go lang,为并发而生的动态语言,源于C语言又不拘泥于性能,高效却不流于古板,Python灵便,略输性能,Java谨严,稍逊风骚。君不见各大厂牌均纷纷应用Go lang对本人的高并发业务进行重构,原因无他,经济上行的大背景之下,性能突出、效率拉满的Go lang无疑是高并发场景下节约服务器资源的一剂灵药。

与时俱进,顺应潮流,本次咱们乘着市场的东风,在各大支流平台(Win/Mac/Linux/Docker)装置并搭建Go lang1.18的开发环境,短时间内做到可能在任何一款开发机或者服务器上输入Go lang的全副功力,如臂使指,龙飞凤舞。

Windows11平台

首先来到市场占有率最高的Win11零碎,返回Go lang官网 https://go.dev/dl/ 下载win平台下的64位安装包:

Microsoft Windows  Windows 7 or later, Intel 64-bit processor  go1.18.5.windows-amd64.msi (130MB)

抉择装置目录后,间接点击装置即可。

装置结束之后,首先输出“win+R”,关上终端。而后在外面输出命令:control system。在关上的零碎信息界面中,抉择左侧菜单的“高级零碎设置”。随后在关上的“零碎属性”窗口抉择下方的“环境变量”选项。最初在关上的环境变量中,查看零碎是否将Go lang的装置目录"c:/go/bin"配置到了环境变量里,如果曾经配置了,在终端中键入命令:

go version

零碎返回:

C:\Users\liuyue>go version  go version go1.18.5 windows/amd64

阐明Go lang1.18版本曾经在零碎中装置胜利。

Mac平台

接着来到Mac零碎,Mac零碎个别会蕴含两套架构,别离是:搭载Intel芯片的x86架构零碎,和搭载M系列芯片的ARM架构零碎。

首先关上终端,键入如下命令:

uname -m

如果返回:

arm64

阐明是ARM架构零碎,反之:

x86

则是Intel芯片的x86架构零碎。

返回Go lang官网 https://go.dev/dl/ ARM架构零碎下载:

Apple macOS (ARM64)  macOS 11 or later, Apple 64-bit processor  go1.18.5.darwin-arm64.pkg (132MB)

X86架构零碎下载:

Apple macOS (x86-64)  macOS 10.13 or later, Intel 64-bit processor  go1.18.5.darwin-amd64.pkg (138MB)

下载之后,双击进行装置即可。

区别于Windows平台,咱们还能够应用更加灵便的形式装置配置Go lang1.18,那就是鼎鼎有名的Homebrew。

Homebrew是一款自在及凋谢源代码的软件包管理系统,用以简化macOS零碎上的软件装置过程,最后由马克斯·霍威尔写成。因其可扩展性失去了统一好评,而在Ruby on Rails社区广为人知。 Homebrew应用GitHub,通过用户的奉献扩充对软件包的反对,同样也反对Go lang生态环境。

首先装置Homebrew:

/bin/zsh -c "$(curl -fsSLhttps://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)”

随后运行命令清理缓存和更新版本:

brew cleanup && brew update

接着运行命令进行go lang1.18的安装操作:

brew install go

接着会进行下载安装操作:

brew install go                           ==> Downloading https://ghcr.io/v2/homebrew/core/go/manifests/1.18.5  Already downloaded: /Users/liuyue/Library/Caches/Homebrew/downloads/819fc08bdc0ecafc9713bdfd76a9e6901172c0b2c0cdde0dd482a0b37ba008fd--go-1.18.5.bottle_manifest.json  ==> Downloading https://ghcr.io/v2/homebrew/core/go/blobs/sha256:4f80cc29d711ddc5038f6b4684fe31674df01284aaa611480  ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:4f80cc29d711ddc5038f6b4684fe3  ######################################################################## 100.0%  ==> Pouring go--1.18.5.arm64_monterey.bottle.tar.gz  ????  /opt/homebrew/Cellar/go/1.18.5: 11,990 files, 596.2MB  ==> Running `brew cleanup go`...  Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.  Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

因为诸位能够了解的起因,这里倡议大家用学术的形式连贯互联网从而获取更快的下载速度。

最初执行命令清理安装包缓存:

brew cleanup go

接着键入命令就能够查看go lang具体的装置目录:

brew list go     /opt/homebrew/Cellar/go/1.18.5/bin/go  /opt/homebrew/Cellar/go/1.18.5/bin/gofmt  /opt/homebrew/Cellar/go/1.18.5/libexec/api/ (22 files)  /opt/homebrew/Cellar/go/1.18.5/libexec/bin/ (2 files)  /opt/homebrew/Cellar/go/1.18.5/libexec/doc/ (5 files)  /opt/homebrew/Cellar/go/1.18.5/libexec/lib/ (3 files)  /opt/homebrew/Cellar/go/1.18.5/libexec/misc/ (393 files)  /opt/homebrew/Cellar/go/1.18.5/libexec/pkg/ (695 files)  /opt/homebrew/Cellar/go/1.18.5/libexec/src/ (7786 files)  /opt/homebrew/Cellar/go/1.18.5/libexec/test/ (3071 files)  /opt/homebrew/Cellar/go/1.18.5/libexec/ (6 files)

在终端键入命令:

go version

零碎返回:

➜  ~ go version  go version go1.18.5 darwin/arm64

这里倡议应用Homebrew来装置Go lang,brew会依据以后零碎架构来主动抉择不同零碎架构的编译版本来进行装置。

Ubuntu/Centos

首先删除 /usr/local/go 目录,依据官网阐明,如果之前有装置过 go,那么须要将该地位的 go 目录删除掉 :

sudo rm -rf /usr/local/go

接着下载安装并装置:

# 下载安装包  $ wget https://golang.google.cn/dl/go1.18.linux-amd64.tar.gz  # 解压 golang 到 /usr/local 下  $ sudo tar xzvf go1.18.linux-amd64.tar.gz -C /usr/local

最初设置环境变量:

# 批改 $HOME/.profile 或 /etc/profile 文件  # 这里可能会呈现权限有余(ubuntu须要加sudo, centos须要切换成root权限)  $ sudo vim /etc/profile  # 在该文件最初一行插入(进入后,按 i键进入编辑模式)  $ export PATH=$PATH:/usr/local/go/bin  # 按 esc 退出编辑模式, 按 :wq 保留文件  $ go version

零碎返回:

go version go1.18 linux/amd64

Docker容器搭建

如果咱们不心愿go lang在零碎中留下些许的痕迹,Docker也能够帮咱们疾速搭建开发环境,对于Docker的装置,请移玉步至:一寸宕机一寸血,十万容器十万兵|Win10/Mac零碎下基于Kubernetes(k8s)搭建Gunicorn+Flask高可用Web集群。

首先建设环境文件夹:

mkdir mygo  cd mygo

随后创立测试脚本hello.go:

package main    func main() {      println("hello go1.18")  }

接着创立Docker镜像打包文件Dockerfile:

FROM golang:alpine    WORKDIR /build    COPY hello.go .    RUN go build -o hello hello.go    CMD ["./hello"]

这里的创立逻辑是根底镜像抉择alpine,容器内创立build编译文件夹,将hello.go拷贝到build目录下,随后运行容器内的go编译器对脚本进行打包,最初运行打包后的可执行文件。

运行命令打包镜像:

docker build -t go .

随后零碎主动下载根底镜像并且编译:

Sending build context to Docker daemon  3.072kB  Step 1/5 : FROM golang:alpine   ---> 15115d36d05e  Step 2/5 : WORKDIR /build   ---> Using cache   ---> 09ea4177a5f7  Step 3/5 : COPY hello.go .   ---> 20ff0208e342  Step 4/5 : RUN go build -o hello hello.go   ---> Running in c03d13c80c36  Removing intermediate container c03d13c80c36   ---> c41673d8b447  Step 5/5 : CMD ["./hello"]   ---> Running in 8f74af4426cf  Removing intermediate container 8f74af4426cf   ---> caf626888641  Successfully built caf626888641  Successfully tagged go:latest

查看镜像明细:

docker images

返回明细:

[root@instance-7dojaq0e mygo]# docker images  REPOSITORY   TAG       IMAGE ID       CREATED          SIZE  go           latest    caf626888641   43 minutes ago   329MB  golang       alpine    15115d36d05e   15 hours ago     328MB

运行docker命令启动容器:

docker run -it --rm go

零碎返回:

hello go1.18

至此,Docker搭建go lang1.18环境就实现了。

Sublime 4 for Go lang

编写Go lang代码也能够抉择轻量编辑器Sublime,是的,一律千篇的Goland多多少少有点审美疲劳,对于Sublime 4的装置,请移步:轻捷洒脱卓然不群,麻利编辑器Sublime text 4中文配置Python3开发运行代码环境(Win11+M1 mac)这里不再赘述。

关上Sublime 4,应用组合键:

control + shift + p

如果是mac平台,键入:

cmd + shift + p

在弹出的命令行中抉择:Install Package

而后输出:Golang Build 按回车装置

装置胜利后,配置go lang装置门路:

首选项 -> package settings -> Golang Config -> Settings - Uesrs

{      "PATH": "C:/Go/bin",      "GOPATH": "C:/Go"  }

紧接着配置go mod,go mod是Go语言的包管理工具,官网举荐应用,有了它就不再受GOPATH的限度,能够在任何目录初始化我的项目,关上命令行,键入命令:

go env -w GO111MODULE=auto  go env -w GOPROXY=https://goproxy.cn,direct

而后在Sublime 4中新建一个hello.go文件:

package main    import "fmt"    func main() {        fmt.Println("hello go1.18")  }

接着应用快捷键 control + b 或者 control + shift + b 抉择go run编译器运行代码,Mac零碎用cmd替换control,如图所示:

随后持续装置代码补全插件,键入:control + shift + p 并输出:Install Package

输出:Golang Tools Integration 回车进行装置

重启Sublime 4。

随后即可在代码中进行补全操作:

至此,开发编辑器就配置好了。

结语

不同于Python或者是Ruby,Go lang不是零碎预装的根底语言,所以配置起来绝对独立,不须要思考与零碎版本抵触问题。与此同时,Golang还反对穿插编译性能,即在Windows平台能够将代码编译成Linux平台可执行的文件,对于Windows平台用户来说,这无疑是一个重大利好。

原文转载自「刘悦的技术博客」 https://v3u.cn/a_id_222