2.1平台架构及安装

2.1 平台架构及安装


2.1.1 编译器

Go 语言开发团队开发了适用于以下操作系统的编译器:

  • Linux
  • FreeBSD
  • Mac OS X(也称为 Darwin)

目前有2个版本的编译器:Go 原生编译器 gc 和非原生编译器 gccgo,这两款编译器都是在类 Unix 系统下工作 。其中,gc 版本的编译器已经被移植到 Windows 平台上,并集成在主要发行版中,你也可以通过安装 MinGW 从而在 Windows 平台下使用 gcc 编译器。这两个编译器都是以单通道的形式工作。


2.1.2 文件扩展名与包(package)

Go 语言源文件的扩展名很显然就是 .go

从 Go 1.0.3 版本开始,不再使用 8g,8l 之类的指令进行程序的构建,取而代之的是统一的 go buildgo install 等命令,而这些指令会自动调用相关的编译器或链接器。


2.1.3 关于Go的环境变量

$GOROOT 表示 Go 在电脑上的安装位置,不需要手动配置

$GOBIN 表示编译器和链接器的安装位置,默认是 $GOROOT/bin,Go 1.0.3 及以后的版本,可以将它的值设置为空,Go 会使用默认值。

$GOPATH 项目存放目录,默认采用和 $GOROOT 一样的值, Go 1.1 版本开始,你必须修改为其它路径。它可以包含多个包含 Go 语言源码文件、包文件和可执行文件的路径,而这些路径下又必须分别包含三个规定的目录:src、pkg 和 bin,这三个目录分别用于存放源码文件、包文件和可执行文件。

$GOARCH 表示目标机器的处理器架构,它的值可以是 386、amd64 或 arm。

$GOOS 表示目标机器的操作系统,它的值可以是 darwin、freebsd、linux 或 windows。

$GOARM 专门针对基于 arm 架构的处理器,它的值可以是 5 或 6,默认为 6。

$GOMAXPROCS 用于设置应用程序可使用的处理器个数与核数

Go 编译器支持交叉编译,就是说编写源代码的机器可以和应用程序的机器有完全不同的操作系统或处理器架构。

为了区分本地机器和目标机器,可以使用 $GOHOSTOS$GOHOSTARCH 设置本地机器的操作系统名称和编译体系结构,这两个变量只有在进行交叉编译的时候才会用到,如果不进行显示设置,他们的值会和本地机器($GOOS$GOARCH)一样。


2.1.4 在Mac OS上使用brew安装Go

防止安装失败,先更新一下brew

brew update

安装最新版的go

brew install go

安装成功后,查看go版本

go version

这就安装好了!如果你还想安装其他版本

brew install go@1.16

go@<版本号> 就可以安装你想要的版本
如何切换呢?
先查看当前的版本

go version

然后取消与该版本的软连接

brew unlink go brew link go@1.16

2.1.5 在Windows上安装Go

国内下载地址:https://golang.google.cn/dl/

选择对应的版本下载即可。

在完成安装包的安装之后,你只需要配置 $GOPATH 这一个环境变量就可以开始使用 Go 语言进行开发了,其它的环境变量安装包均会进行自动设置。在默认情况下,Go 将会被安装在目录 c:\go 下,但如果你在安装过程中修改安装目录,则可能需要手动修改所有的环境变量的值。

如果你想要在 Windows 下使用 cgo (调用 C 语言写的代码),则需要安装 [MinGW](http://sourceforge.net/projects/mingw/files/Automated MinGW Installer/),一般推荐安装 TDM-GCC。如果你使用的是 64 位操作系统,请务必安装 64 位版本的 MinGW。安装完成进行环境变量等相关配置即可使用。


2.1.6 安装目录清单

Go 安装目录($GOROOT)的文件夹结构应该如下所示:

README.md, AUTHORS, CONTRIBUTORS, LICENSE

  • /bin:包含可执行文件,如:编译器,Go 工具
  • /doc:包含示例程序,代码工具,本地文档等
  • /lib:包含文档模版
  • /misc:包含与支持 Go 编辑器有关的配置文件以及 cgo 的示例
  • /os_arch:包含标准库的包的对象文件(.a
  • /src:包含源代码构建脚本和标准库的包的完整源代码(Go 是一门开源语言)
  • /src/cmd:包含 Go 和 C 的编译器和命令行脚本

搞定!

各位老板,是不是很简单呢?

瑞思拜!


__EOF__

本文作者KURO · Liang
本文链接https://www.cnblogs.com/kuro-liang/p/18223930.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   KURO、Liang  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示