前提
当我第一次使用MacBook配置Go语言环境时,网上的资料错综复杂,部分资料对于第一次使用MacBook的小白们非常不友好,打开终端时,终端的位置对应的访达中的位置不是很清楚,因此才有了这篇文章,该文章通过返回上级文件夹来判断终端打开的位置,进而辅助小白用户更好的运用终端,其中涉及了较简单的命令语句且附有解释,请放心食用本文章。
一、Mac终端简介
1.简介
“终端” App 可让高级用户和开发者通过命令行界面 ( CLI )与 Mac 操作系统进行通信。你可以输入命令和脚本(称为_shell 脚本)_在 Mac 上执行任务。
2.如何确定启动终端时显示的位置
2.1在启动台中启动终端进入终端页面
2.2通过返回上级目录,查看终端打开时所在的当前目录
输入cd … (cd “你想要进的目录” //当目录名称中含有空格、中文或其它特殊字符时请用双引号包括,
以下是最常用的几个目录的写法:
/ 代表根目录
. 当前目录
- … 上级目录
- 当前用户的默认工作目录
目录可以省略不写, 与cd ~ 有相同的效果)返回上一级文件夹,通过比对文件夹位置确定终端打开时终端显示的位置,返回上级后,我们发现终端打开时,所在的位置为用户文件夹。
cd ..
二、Mac安装GO语言环境
1.下载Go语言安装包
1.1进入Go官网下载:All releases - The Go Programming Language
1.2选择对应的?pkg下载,注意自己的CPU是ARM架构还是Intel的(我使用的是 M1 ARM 架构)
1.3下载完成后,直接点击安装包进行安装,默认会安装到 /usr/local/go 文件夹下。
1.4安装完成后,进入终端输入 go version 查看是否安装成功
go version
2.配置Go语言环境
2.1配置前准备(两种)
2.1.1直接在访达中创建存放Go语言项目代码的文件夹
这里我将Go语言的项目放在 User/****/Documents 文件夹下(**** 代表你的电脑 User 文件夹下标有小房子的文件夹的名称,大部分是由你的电脑名字命名的)
2.1.2通过终端命令在访达中创建存放Go语言项目代码的文件夹
有了前提的简介,当我们打开终端时,可以清楚的知道当前文件夹的位置,使用 ls 查询当前文件夹下所有的文件,可以查询到名字为公共,图片,文稿,下载,音乐,影片,桌面的文件夹。这里我选择将存放Go语言项目代码的文件夹创建在文档文件夹下。
ls
使用命令语句 cd Documents 切换到文稿文件夹下
cd Documents
使用 mkdir Go_Works 创建一个名字为 Go_Works 的文件夹
mkdir Go_Works
使用命令语句 cd Go_Works 切换到该文件夹下
cd Go_Works
再次使用mkdir my_Goland 创建一个名为 my_Goland 文件夹来存储 Go 语言项目代码
mkdir my_Goland
三、Mac配置 Go 语言运行环境
1.打开终端应用,使用文本编辑器(如 nano 或 vim,这里使用vim)打开~/ .bash_profile文件(如果不存在,请创建)
vim ~/.bash_profile
2.输入 i 进入 vim 编辑模式
3.在原有代码下复制一下代码(原代码也可能是空的什么也没有)
#注意=号前后不能有空格
export GOPATH=/Users/maoheidan/Documents/Go_Works/my_Golang ?#请改成你的项目路径
export GOBIN=$GOPATH/bin ? #GOLANG运行目录一般不可修改
export PATH=$PATH:$GOBIN?
4.按键盘ESC键,并输入 :wq 保存并退出编辑
5.输入 source ~/.bash_profile 完成对 Goland 环境变量的配置并生效,输入后不会有提示
6.输入 go env 查看配置结果,以下是我的截图,说明配置完成
go env
四、测试是否可以运行 Go 语言代码
1.打开 vsvode ,选择并打开 my_Goland 文件夹
2.创建一个名为 main的文件后缀为 .go 的文件
3.在文件内输入以下内容:
package mainimport "fmt"func main(){fmt.Println("Hello Go!")
}
4.保存后退出,在访达中右键点击 my_Goland 文件夹,在出现的菜单中点击新建位于文件夹位置的终端窗口
5.在终端中输入 go run main.go 运行程序,最终终端窗口输出 Hello Go!
go run main.go
补:在终端中可以先使用 go build main.go 生成名为 main 的可执行文件,再使用 ./main运行该程序,最终终端也会输出 Hello Go!