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

引言

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 mainimport "fmt"func main() {fmt.Println("Hello, World!")
}

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

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

go run hello.go
OutputHello, World!

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

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/142325.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【论文阅读 08】Adaptive Anomaly Detection within Near-regular Milling Textures

2013年,太老了,先不看 比较老的一篇论文,近规则铣削纹理中的自适应异常检测 1 Abstract 在钢质量控制中的应用,我们提出了图像处理算法,用于无监督地检测隐藏在全局铣削模式内的异常。因此,我们考虑了基于…

如何正确使用MySQL的索引呢?

前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! 一、索引使用…

探索创意的新辅助,AI与作家的完美合作

在现代社会,文学创作一直是人类精神活动中的重要一环。从古典文学到现代小说,从诗歌到戏剧,作家们以他们的独特视角和文学天赋为我们展示了丰富多彩的人生世界。而近年来,人工智能技术的快速发展已经渗透到各行各业,文…

【数据结构】二叉树的销毁 二叉树系列所有源代码(终章)

目录 一,二叉树的销毁 二,二叉树系列所有源代码 BTee.h BTee.c Queue.h Queue.c 一,二叉树的销毁 二叉树建好了,利用完了,也该把申请的动态内存空间给释放了,那要如何释放呢? 我们还是以…

LeetCode力扣020:有效的括号

有效的括号 实现思路 设立判定条件遍历的范围 代码实现 class Solution(object):def isValid(self, s):""":type s: str:rtype: bool"""nlen(s)for i in range(0,n-1):if s[i]( and s[i1]!):return Falseif s[i][ and s[i1]!]:return Falseif s…

02Redis的命令行客户端和桌面客户端的下载和安装

Redis桌面客户端 安装完成Redis服务,我们就可以在Redis的客户端操作Redis的数据库实现数据的CRUD了,客户端分为三类命令行客户端, 图形化桌面客户端,编程客户端 命令行客户端 Redis安装完成后就自带了命令行客户端: redis-cli [options] [commonds] -h选项:指定…

Jenkins+Allure+Pytest的持续集成

一、配置 allure 环境变量 1、下载 allure是一个命令行工具,可以去 github 下载最新版:https://github.com/allure-framework/allure2/releases 2、解压到本地 3、配置环境变量 复制路径如:F:\allure-2.13.7\bin 环境变量、Path、添加 F:\a…

从零开始的 MyBatis 拦截器之旅:实战经验分享

文章目录 MyBatis拦截器可以做什么?Mybatis核心对象介绍四大核心对象如何实现?接口讲解Interceptor接口intercept方法plugin方法setProperties 完整SQL打印拦截器实战拦截器实现拦截器注册 MyBatis拦截器可以做什么? MyBatis拦截器是MyBatis…

软件测试面试题 —— 整理与解析(4)

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

自动化测试:为什么需要框架

前两天跟老板出去做pre-sales. 主要是去卖我们的自动化测试服务,工具用的是HP UFT。做过自动化的人应该知道,UFT在自动化测试领域已经算是最好的工具之一了。客户是个有技术背景的人,所以不那么好忽悠。我们准备了一大堆自动化测试优点的幻灯…

推荐一个AI人工智能技术网站(一键收藏,应有尽有)

1、Mental AI MentalAI(https://ai.ciyundata.com/)是一种基于星火大模型和文心大模型的知识增强大语言模型,专注于自然语言处理(NLP)领域的技术研发。 它具备强大的语义理解和生成能力,能够处理各种复杂的…

【效率提升】maven 转 gradle 实战 | 京东云技术团队

一、灵魂三问 1、gradle 是什么? 一个打包工具, 是一个开源构建自动化工具,足够灵活,可以构建几乎任何类型的软件,高性能、可扩展、能洞察等。其中洞察,可以用于分析构建过程中数据,提供分析参…

想学python找不到合适的书籍?它来了!入门python只需要这一本书就够了!

想学python找不到合适的书籍?看了视频还是不知如何下手? 《python王者归来》 它来了!由清华大学出版社出版!入门python只需要这一本书就够了! 【PDF版领取见文末】 这是一本python入门书。无论你是计算机专业的大学生…

C语言之字符函数字符串函数篇(1)

目录 前言 求字符串长度 strlen strlen统计的是字符串\0之前的字符串长度 字符指针 strlen的返回值是无符号整型 strlen的三种模拟实现 计数器 函数递归 指针_指针 长度不受限制的字符串函数 strcpy strcpy会将源字符串中的 \0 拷贝到目标空间 strcpy参数目标空…

echarts添加点击事件

实现效果:点击图表,弹出该数据下对应得详情 官方文档: 封装的图表组件中: 点击获取点击得对象,进而将需要的参数传给父组件,在父组件中再去请求接口获取更多信息 this.chart.on(click, (params)> {th…

Docker 安装Redis(集群)

3主3从redis集群配置 1、新建6个docker容器 redis 实例 docker run -d --name redis-node-1 --net host --privilegedtrue -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381 docker run -d --name redis-node-2 --ne…

聚焦云原生安全|如何为5G边缘云和工业互联网应用筑牢安全防线

9月22日,2023年中国信息通信业发展高层论坛5G工业互联网分论坛在北京顺利举办。 作为国内云原生安全领导厂商,安全狗受邀出席此次活动。 据悉,中国信息通信业发展高层论坛是致力于研究信息通信业发展新问题、新趋势,推动信息通信…

使用vite插件进行低代码平台自定义开发(手机版自定义范例)

前言 Youtube上的前端网红「Theo」在React文档仓库发起了一个Pull request,号召React文档不要再默认推荐CRA(create react app),而是应该将Vite作为构建应用的首选。 vite的影响力已经从vue蔓延到了react,可见在前端工程化开发中&#xff0c…

如何使用ArcGIS Pro将等高线转DEM

通常情况下,我们拿到的等高线数据一般都是CAD格式,如果要制作三维地形模型,使用栅格格式的DEM数据是更好的选择,这里就为大家介绍一下如何使用ArcGIS Pro将等高线转DEM,希望能对你有所帮助。 创建TIN 在工具箱中选择“…