点击上方蓝色“polarisxu”关注我,设个星标,不会让你失望
大家好,我是站长 polarisxu。
前些天有一位朋友问我:
有些朋友可能会有点奇怪,M1 有什么特别的吗?为了照顾部分童鞋,这里简单介绍下。
01 为什么会出现这个问题
大家知道不同的操作系统是很不一样的,同时不同的 CPU 架构也是很不一样的。Go 号称是跨平台的,自然要支持这些操作系统和 CPU 架构。
在 Go 中,GOOS 表示操作系统,GOARCH 表示 CPU 架构。比如你的 Linux 服务器,一般是 GOOS=linux,GOARCH=amd64(即 x86-64);你现在的 Mac 很可能是 GOOS=darwin,GOARCH=amd64 等。这里定义了 Go 支持的操作系统和 CPU 架构:https://docs.studygolang.com/pkg/runtime/internal/sys/#pkg-constants。当然,这里的 GOOS 和 GOARCH 并非任意组合都支持。
一般地,很多人安装 Go,通过网上下载编译好的、对应系统的包,比如到 https://studygolang.com/dl 可以下载你需要的文件,常见的系统是:Linux、Mac 和 Windows。
比如 Apple macOS,下载后双击打开,按提示操作即可。
然而,最新版 Mac 没有使用 Intel 芯片,而是使用了自研的 M1 芯片。之前 Intel 芯片是 amd64 架构,而 M1 芯片是 arm64 结构。前面说了,虽然 Go 是支持 arm64 架构的,但并非操作系统和 CPU 架构的任意组合都支持,也就