Day3-golang 环境建设(macOS)

前言

因为本身是以 MAC 在开发程序,所以本篇文章是以安装 Go 的环境在 macOS 为主,那如果你是使用 linux 或 windows 的作业系统,本篇可能不适合你,但您也可到官网参考。

Go 安装(Homebrew)
大多的 MAC 使用者,应该都会下载 Homebrew,那如果你还没下载的话,建议你先下载,因为真的很方便,而且你没下载我会没办法讲下去XD,所以请到这里去下载吧。

当您下载好 Homebrew 後,那只要到终端机(terminal)去下一行指令, 即可安装好 Go 的环境,

$ brew install go

当您下了这行指令,会自动帮你下载、解压缩以及安装,就是那麽方便,所以你还不安装 Homebrew 吗?

在 brew 跑完安装後,你可以在下个指令确认是否安装成功,而安装会是最新的版本。

$  go version     
go version go1.16.3 darwin/amd64

go version 可以确认现在你安装的 Go 版本,上述只是拿我自己安装的版本示范,并非最新的版本。


Go 环境设定

当你安装完 Go 之後,之後就是环境变数设定了,可以特过以下指令确认 Go 的环境变数,

$ go env

指令下下去,就跑出以下设定内容:

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/jc_lai/Library/Caches/go-build"
GOENV="/Users/jc_lai/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/jc_lai/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH=""
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"

先说大家的一开始都会有所不同,所以不要太过紧张你的跟我不一样,我这里只截取了部分的内容,一些可能前期比较重要的,例如 GOPATH,他是有关管理程序码和套件以及执行档的地方,GOPATH 一开始会是空白的,所以你必须填入位址给它:

$ export GOPATH=$HOME/go

接着来说明这个位址,你必须到自己的 HOME目录下,建立一个叫 go(或是golang也可,自己喜欢就好) 的资料夹,并且在里面建立三个资料夹:

  • src - 你主要的专案(程序码)都会放在这
  • pkg - 套件主要储存的资料夹
  • bin - 存放编译好的执行档

编译器(VScode)

编译器其实是个辅助工具,能让你在写 code 时更加轻松方便,那如果你本身若是使用 vim 等需要硬底子的编译器,那这里可以跳过,这里要介绍的是 Visual Studio Code(以下简称 VScode),一开始,你还是要先下载安装,可到这里参考并进行安装。

在安装好後,你可以把有关 Go 的 plug-in 先下载好。
https://ithelp.ithome.com.tw/upload/images/20210911/20137500jQIv2AqRkM.png

下载後,会方便开发程序,有一些自动排版的功能,或是 Go To Definition,详细内容可参考这里

接这你可以开启自动储存的功能,你就不用每次都 command+s 了,当然有时要自动排版,你还是得 command+s 。
https://ithelp.ithome.com.tw/upload/images/20210911/20137500oIPMpobuAL.png


结语

接这你就可以写你第一只 Go 程序了,明天会为各位读者带来第一支程序,并说解一只 Go 程序的基本架构,今天环境架设就解说到这里,其实 Go 很容易安装,对开发者很友善,希望今天的文章有帮助到你,感谢今天的阅读!


<<:  Day.3 环境部署 - 从安装开始 (GCP & Percona Mysql )

>>:  Day11 - 套用 Tag Helper - 复杂型别 object + collection

Day 04:金鱼记忆力太短暂,交给外挂记吧!autosuggestions 与 substring-search

我把从第一天到现在每天的 Home 目录都放上 GitHub 了,README.md 里面有说明 ...

[Day02] 想要维度提升,先为自己铺路

在与团队成员的定期面谈中,一个很常被问到的问题:「可以给我一点职涯发展的建议吗?我要怎麽做,才能成为...

初学者跪着学JavaScript Day11 : 运算子的优先顺序

一日客语:中文厕所, 客语:pencil xd 说说运算子的优先顺序 简单例子 计算这条运算式?就要...

Day 28 | SQLite资料库(三)

资料库语法与应用 在MyDBHelper完成资料库与table定义後,在程序中产生MyDBHelpe...

19. PHPer x New Features

...为什麽 PHP 的变数宣告要使用 $ 符号?...PHP 在变数前使用 $ 的用意是提醒开发...