如何在macOS上安装Go并搭建本地编程环境

2023-09-20 08:42:09

引言

Go是一种诞生于挫折中的编程语言。在谷歌,开发人员厌倦了在为新项目选择语言时必须做出权衡。有些语言执行效率很高,但需要很长时间编译,而另一些语言易于编写,但在生产环境中运行效率很低。因此,谷歌发明了Go语言,并设计了这门语言以拥有这一切:快速编译、快速执行、易于编写和易于部署。

虽然Go是一种通用语言,可用于从web应用程序到命令行工具的各种项目,但它特别适合于分布式系统和微服务架构,为它赢得了云语言的声誉。它帮助现代程序员使用一套强大的工具做更多的事情,通过将格式作为语言规范的一部分来消除关于格式的争论,以及通过将每个程序及其所有依赖项编译为单一的二进制文件来简化部署。Go易于学习,具有非常少的关键字集合,这使它成为初学者和资深开发人员的绝佳选择。

在本教程中,您将在本地macOS机器上安装Go,并运行您的第一个程序以证明安装有效。

前期准备

你需要一台macOS计算机,具有管理权限,并且可以连接到互联网。

第1步 - 打开终端

macOS终端是一个可以用来访问命令行界面的应用程序。你可以在Finder中找到它,导航到Applications文件夹,然后进入Utilities文件夹。在这里双击终端。

现在您已经打开了终端,您可以下载并安装Xcode,这是安装Go所需的开发人员工具包。

第2步 — 安装Xcode

Xcode是一个包含macOS软件开发工具的集成开发环境 (IDE)。要检查Xcode是否已经安装,可以在终端中输入以下命令:

xcode-select -p

下面的输出表明已经安装了Xcode:

Output/Library/Developer/CommandLineTools

如果你收到一个错误,安装Xcode从App Store并接受默认选项。

安装好Xcode后,回到终端窗口。接下来,需要安装Xcode的命令行工具应用程序,可以通过输入:

xcode-select --install

至此,Xcode及其命令行工具应用程序已经完全安装完毕,可以开始安装包管理器Homebrew了。

第3步 - 安装和设置Homebrew

虽然macOS终端非常类似于Linux终端和其他Unix系统的终端,但它没有像Linux发行版那样提供官方的命令行包管理器。包管理器可以帮助你安装软件、升级、配置和卸载,可以通过终端交互,也可以在脚本中进行。macOS上有一些开源(和非官方)的包管理器,Homebrew是最流行的一个。它提供了一种在macOS上快速灵活地安装和更新Go的方法。

要安装Homebrew,请在终端中运行以下命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

这个命令从GitHub下载一个脚本并安装Homebrew。如果您需要输入密码,请注意您的击键不会显示在终端窗口中,但它们会被记录下来。输入密码后,只需按return键。否则,当系统提示您确认安装时,请按y为“yes”。

安装完成后,你要把Homebrew的目录放在PATH环境变量的顶部,这样你通过Homebrew安装的任何程序都将优先于macOS上默认安装的同名程序(如果有的话)。由于macOS没有附带Go,在这种情况下,将Homebrew放在PATH的顶部并不是严格必要的,但为了适应其他情况,许多开发人员更喜欢将Homebrew添加到他们的PATH的顶部。

为此,使用命令行文本编辑器nano创建或打开文件~/.zprofile:

nano ~/.zprofile

**注意:**如果你运行的macOS版本高于10.15 Catalina,你的终端可能会使用Bash shell (/bin/bash)而不是Z-shell (/bin/zsh)。在这种情况下,你需要创建或打开文件~/.bash_profile而不是~/.zprofile。要查看您正在使用的shell,请运行echo $SHELL

将下面这行添加到文件中:

eval "$(/opt/homebrew/bin/brew shellenv)"

通过输入CTRL+x退出nano,当提示保存文件时,按y,然后按ENTER

现在激活这些修改:

source ~/.zprofile

要确保Homebrew安装成功,可以输入以下命令:

brew doctor

如果此时不需要更新,则输出为:

OutputYour system is ready to brew.

否则,你可能会得到一个警告,要求你运行另一个命令,例如brew update,以确保你安装的Homebrew是最新的。

Homebrew准备好后,您可以安装Go。

第4步 - 安装Go

你可以使用brew search命令搜索所有可用的Homebrew包。就本教程而言,您将搜索go相关的包或模块:

brew search golang

注意:不要运行brew search go,因为它会返回太多结果。Go语言通常被称为Golang,所以使用golang作为搜索词来缩小结果范围。

终端会输出一个你可以安装的列表:

Outputgolang	golang-migrate golangci-lint glslang

你想要得到第一个结果golang。现在安装它:

brew install golang

安装过程可能需要几分钟。完成后,检查您安装的Go版本:

go version

Homebrew应该已经安装了最新的稳定版本的Go。在撰写本书时,该版本是1.19.4。

要在将来更新Go,您可以运行这两个命令来首先更新Homebrew,然后更新Go:(您现在不需要这样做,因为您刚刚安装了最新版本)。

brew update
brew upgrade golang

brew update将更新Homebrew本身的公式,确保你拥有想要安装的软件包的最新信息。brew upgrade golang将把golang包更新到最新版本。

安装Go后,您就可以编译并运行第一个程序了。

第5步 — 用Go写Hello World

本节不会解释任何关于Go编程的内容。我们的目标只是编译和运行最简单的程序,以说服您自己Go是有效的。

在你的主目录下,使用像nano这样的文本编辑器创建一个新文件:

nano hello.go

粘贴这个程序:

package main

import "fmt"

func main() {
	fmt.Println("Hello, World!")
}

通过输入CTRL+x退出nano,当提示保存文件时,按y,然后按ENTER

然后用下面这条命令编译并运行程序:

go run hello.go
OutputHello, World!

Go是活着的!你已经准备好开始你的冒险之旅。

总结

本教程提供了Go编程语言的简单介绍。你安装了Go并运行了第一个程序。

更多推荐

微服务: xxl-job的安装(docker),使用及springboot整合[完整版详解]

全文目录,一篇结束1.前言简介1.1xxl-job的作用及优势1.1.1xxl-job作用1.1.2xxl-job优势1.2资源位置及使用说明1.2.1文档说明1.2.2docker镜像位置2.安装配置使用xxl-job(两种)2.0公共操作:sql脚本(2.2免下载也用)2.1方法一:源码搭建方式2.1.1源码下载位

华为云云耀云服务器L实例评测|Python Selenium加Chrome Driver构建UI自动化测试实践

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。🏆数年电商行业从业经验,AWS/阿里云资深使用用户,历任核心研发工程师,项目技术负责人。🎉欢迎👍点赞✍评论⭐收藏文章目录🚀一、前言🚀二、Chrome浏览器环境搭建🔎

网络安全(黑客)自学

自学网络安全必须注意的问题:(1)打好基础初学者一定要注意打好基础,我之所以只学了6个月就能拿到12K的薪资,就是因为我基础牢固。其实一个初学者在开始的时候能培养出好的基础很难,这源于在整个学习过程中有大佬带我的原因。(2)交流沟通切记不要认为自己可以摸索自学成功,能达到一定高度的水平,一定离不开很多专业人的指导,所以

计算机竞赛 机器视觉目标检测 - opencv 深度学习

文章目录0前言2目标检测概念3目标分类、定位、检测示例4传统目标检测5两类目标检测算法5.1相关研究5.1.1选择性搜索5.1.2OverFeat5.2基于区域提名的方法5.2.1R-CNN5.2.2SPP-net5.2.3FastR-CNN5.3端到端的方法YOLOSSD6人体检测结果7最后0前言🔥优质竞赛项目系列

POLARDB IMCI 白皮书 云原生HTAP 数据库系统 一 数据压缩打更新 (本篇有数据到列节点异步但不延迟的解释)...

开头还是介绍一下群,如果感兴趣polardb,mongodb,mysql,postgresql,redis等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系liuaustin3,在新加的朋友会分到2群(共1300人左右1+2+3+4)3群即将突破400会关闭自由申请,新人会进4群这

计算机视觉与深度学习-全连接神经网络-激活函数- [北邮鲁鹏]

文章目录基础知识为什么需要非线性操作(激活函数)?激活函数vs数据预处理常用的激活函数Sigmoid函数(Logistic函数)双曲正切函数(Tanh函数)线性整流函数(ReLU函数)LeakyReLU函数Softmax函数基础知识激活函数是神经网络中的一种非线性函数,它作为神经元的输出函数,将输入信号进行转换并引入非

x86架构基础汇编知识

​通用寄存器EAX32位函数返回值AX低16位AH高八位AL低八位EBX32位ECX32位循环次数,this指针EDX32位EBP32位栈底寄存器ESP32位栈顶寄存器ESI源索引寄存器EDI目标索引寄存器EIP无法直接通过汇编操作例子moval,0xffaddal,1产生截断moval,0xffaddax,1产生进位

【C# Programming】继承、接口

一、继承1、派生继承在相似而又不同的概念之间建立了类层次概念。更一般的类称为基类,更具体的类称为派生类。派生类继承了基类的所有性质。定义派生类要在类标识符后面添加一个冒号,接着添加基类名。publicclassPdaItem{publicstringName{get;set;}publicDateTimeLastUpd

《计算机视觉中的多视图几何》笔记(2)

2ProjectiveGeometryandTransformationsof2D本章主要介绍本书必要的几何知识与符号。文章目录2ProjectiveGeometryandTransformationsof2D2.1Planargeometry2.2The2Dprojectiveplane2.2.1Pointsandl

无人机倾斜摄影测量技术标准及关键技术研究

无人机倾斜摄影测量技术在应用过程中,存在模型分辨率不一致、精度不可靠、格式不匹配的问题,但没有现行的标准对任务质量进行评价,这在一定程度上限制了无人机倾斜摄影测量技术进一步发展。《无人机航空摄影测量精品教程》:无人机航测外业作业流程(像控点布设、航线规划、仿地飞行、航拍)和内业数据处理软件(Pix4d、CC、EPS、P

什么是无人机倾斜摄影?无人机倾斜摄影测量测绘中的应用有哪些?

无人机倾斜摄影是国际测绘遥感领域近年发展起来的一项高新技术,通过在同一飞行平台上搭载多台传感器,可以同时从垂直、倾斜等不同角度采集影像,获取地面物体更为完整准确的信息。无人机倾斜摄影测量技术以大范围、高精度、高清晰的方式全面感知复杂场景,通过高效的数据采集设备和专业的数据处理流程生成的数据成果直观反映地物的外观、位置、

热文推荐