一、安装go环境以及编译输出HelloWorld

devtools/2024/10/18 18:21:14/

目前的热门技术方向从分布式微服务开始转向云原生而云原生方向需要掌握GO语言,基于此决定利用平时的时间来完成GO语言的学习。

安装(基于mac m1)

(翻看了网上很多的资料,发现很多人记录的有很多问题,一个简单的安装变得奇奇怪怪,还有一些人就算是记录给自己看的,我很严重的怀疑过段时间他自己过来看也看不明白了。)

1、下载适合Apple Silicon(M1)架构的Go二进制文件。

访问Go官方下载页面 https://golang.org/dl/ 

选择合适自己的版本进行下载

例如,如果是Mac M1,并且想要安装Go 1.16版本,你可以下载如下文件:go1.16.darwin_arm64.tar.gz

2、解压下载的文件。

在终端中使用如下命令解压下载的文件:

tar -C /usr/local -xzf go1.16.darwin_arm64.tar.gz

(在这里我使用命令解压会中途报错,直接手动双击解压后放到 /usr/local文件夹中,网上有些步骤会去涂抹路径或者文件夹,我不太明白为什么?是大家的电脑中文件夹是放公网中可以任意访问还是有啥不能见人的东西)

 

3、设置环境变量。

编辑你的shell配置文件(如.bash_profile.zshrc.zprofile,取决于你使用的shell),添加以下行:

(检查方法:1、使用命令 echo $SHELL ,这个命令会输出一个路径,这个路径指向你当前使用的 shell 程序。例如,如果你看到是 /bin/zsh 则代表你正在使用 Zsh;如果是/bin/bash则代表你正在使用bash  2、回忆之前的环境变量配置在哪里,例如java环境安装在哪里的 3、记不得就一个个打开看下)

export GOROOT=/usr/local/goexport GOPATH=$HOME/goexport PATH=$PATH:$GOROOT/bin:$GOPATH/bin

4、在终端运行以下命令使配置生效

source ~/.bash_profile 

 4.1、如果你使用的是zsh

source ~/.zshrc

5、验证安装

go version

如果安装成功,该命令将输出Go的版本信息。

编写与运行HelloWorld

(关于编译工具,因为我个人喜欢通过资源书来学习,很多资源书都是一开始建议使用文本工具来创建,但是我个人觉得没必要,一开始就使用的vscode来实现)

1、代码 main.go

package mainimport ("fmt"
)
func main()  {fmt.Println("hello world")
}

2、编译或运行

使用命令go build main.go或go run main.go都可以

(build命令在于会生成可执行文件)


http://www.ppmy.cn/devtools/90758.html

相关文章

图论-最小生成树

Prim算法 算法描述 dist[i]<-- for(i 0;i<n;i) t<--找到集合外最近的点 用t更新其他点到集合的距离&#xff08;这个集合就是已经确定的最小生成树的点和边&#xff09; st[t] true; dist[i] <-- 无穷 这一步是初始化所有节点到集合的最小距离为无穷大。dist[i] 表…

Harbor 仓库一键安装

文章目录 一、场景说明二、脚本职责三、参数说明四、操作示例五、注意事项 一、场景说明 本自动化脚本旨在为提高研发、测试、运维快速部署应用环境而编写。 脚本遵循拿来即用的原则快速完成 CentOS 系统各应用环境部署工作。 统一研发、测试、生产环境的部署模式、部署结构、…

Python 如何进行Web抓取(BeautifulSoup, Scrapy)

Web抓取&#xff08;Web Scraping&#xff09;是一种从网站提取数据的技术。Python有许多用于Web抓取的库&#xff0c;其中最常用的是BeautifulSoup和Scrapy。 BeautifulSoup BeautifulSoup是一个用于解析HTML和XML文档的Python库&#xff0c;适合处理简单的Web抓取任务。它将…

git常见问题(不定期更新)

1、文件名大小写问题 **问题描述&#xff1a;**默认情况下&#xff0c;在windows系统中&#xff0c;git不区分文件名大小写&#xff08;linux系统会区分&#xff09;&#xff0c;所以如果开发环境是windows系统的话&#xff0c;当我们修改文件名大小写时&#xff0c;git无法识…

Spring5 的日志学习

我们在使用 Spring5 的过程中会出现这样的现像&#xff0c;就是 Spring5 内部代码打印的日志和我们自己的业务代码打印日志使用的不是统一日志实现&#xff0c;尤其是在项目启动的时候&#xff0c;Spring5 的内部日志使用的是 log4j2&#xff0c;但是业务代码打印使用的可能是 …

k8s—Prometheus原理

一、Prometheus 1.Prometheus介绍 Prometheus 是一个开源的系统监控和报警系统&#xff0c;现在已经加入到 CNCF 基金会&#xff0c;成为继k8s 之后第二个在 CNCF 托管的项目&#xff0c;在 kubernetes 容器管理系统中&#xff0c;通常会搭配prometheus 进行监控&#xff0c;同…

C# Null 合并运算符 ??

int&#xff1f; 在 C# 中&#xff0c;int? 是一个可空的 int 类型&#xff0c;它能够存储一个 32 位带符号整数或者 null 值。当你声明一个 int? 类型的变量并将其初始化为 null&#xff0c;你实际上是在创建一个可以容纳整数值的变量&#xff0c;但是初始时并没有赋予它任…

案例分享-国外UI设计界面赏析

国外UI设计倾向于简洁的布局和清晰的排版&#xff0c;减少视觉干扰&#xff0c;提升用户体验。通过合理的色彩搭配和图标设计&#xff0c;营造舒适愉悦的使用氛围。 设计师不拘泥于传统框架&#xff0c;勇于尝试新元素和理念&#xff0c;使界面独特有趣。同时&#xff0c;强调以…