1.在M1 Mac上编译使用arm64原生go
2.Go的源码执行原理以及Go的命令
3.《实战:centos上安装Go软件》-2022.4.28
4.go install安装的不同Go版本的可执行程序和源码存放在哪里
在M1 Mac上编译使用arm64原生go
年月日更新:go官方已发布1. beta版,无需自行编译即可下载安装。安装
预计年2月,源码go 1.版将正式支持Apple Silicon(使用arm架构的安装M1新芯片的Mac操作系统),但目前可通过下载最新源码并编译,源码获取原生arm版的安装轮盘源码go。
操作在m1 mac mini上完成,源码go工具链安装在$HOME/goroots路径下。安装mac上需确保已安装rosetta 2。源码
首先,安装下载并安装amd的源码go 1.版本。通常仅需下载即可。安装
通过clone方式获得go源码。源码从github.com/golang/go仓库克隆,安装套料 源码master分支即为1.预发布版本。源码
预编译darwin/arm工具链。此工具链本身应为arm版,否则最终编译结果可能为x。编译过程中需要关闭GODEBUG设置中的asyncpreemptoff参数,以避免因依赖rosetta 2而出现的协程异步抢占bug。
完成编译后,在$HOME/goroots/go-darwin-arm-bootstrap路径下获取到完整的go arm工具链。
编译后可使用$HOME/goroots/gosource/bin/go获得arm版的go。将该路径添加到PATH环境变量中,即可在系统中使用原生go。
性能参考:测试项目gorazor(sipin/gorazor)在windows ik CPU下的go test需2.秒;使用编译出的原生go版本所需时间为0.秒;使用rosetta 2运行amd的go 1.则需0.秒。
Go的magnolia源码执行原理以及Go的命令
Go的源码文件主要分为三类:命令源码文件、库源码文件和测试源码文件。
命令源码文件是Go程序的入口,被声明为main包,包含main函数。文件被安装后,会根据GOPATH设置存放于当前工作区的bin目录或GOBIN设置的目录。这些文件可以单独运行,使用go run命令直接执行,或通过go build或go install生成可执行文件。命令源码文件不应与其他文件混合在同一个代码包中。
库源码文件不具备命令源码文件的特征,是普通源码文件。文件被安装后,blender 源码对应的归档文件(.a文件)会被存放在当前工作区的pkg目录下的平台相关目录。库源码文件不能通过go build或go install编译和安装。
测试源码文件以_test.go为后缀,并包含Test或Benchmark函数。Test函数接受*testing.T参数,用于功能测试;Benchmark函数接受*testing.B参数,用于性能测试。
命令方面,Go的最新版本1.提供了个基本命令,如build、get、install、run等。shadowsocks源码build命令用于编译代码包及其依赖;get命令用于下载远程代码仓库中的代码包;install命令用于编译并安装代码包;run命令用于运行命令源码文件。build和install命令会在指定目录生成可执行文件;run命令只能运行命令源码文件。install命令还负责将编译结果移动到bin目录或GOBIN目录。get命令会将代码包下载到GOPATH中的src目录。clean命令用于清除已编译生成的文件。
fmt命令用来格式化代码文件,通常与gofmt命令结合使用,格式化后的结果会覆盖源代码文件。test命令自动读取_test.go文件,生成并运行测试用的可执行文件。doc命令提供强大的文档功能,可以查看相应package的文档,甚至创建本地版本的golang.org文档。fix命令用于修复老版本代码到新版本,version命令查看当前Go版本,env命令查看Go环境变量,list命令列出当前安装的所有package。
综上所述,Go的源码文件分类清晰,命令提供了全面的编译、下载、安装、测试和文档支持,满足了开发者的需求。
《实战:centos上安装Go软件》-.4.
目录
[TOC]
实验环境实验软件
链接:pan.baidu.com/s/1dwuL9m... 提取码:3gmb
1.下载安装包
将Linux的go.tar.gz包下载至本地:
使用wget命令或者浏览器直接下载至Linux系统。
2.安装&配置
将Windows编写的go源码上传至Linux机器进行编译运行:(可成功运行代码)
解压并安装go包,配置环境变量,完成go环境搭建。
3.如何卸载
删除文件,删除环境变量配置。
卸载go环境,删除已安装的go包及配置。
关于我
博客主旨:通过实验现象结合理论知识深入理解技术,提高学习乐趣和动力。
分享源码及实验所需软件,共同进步。
如遇操作疑问,可随时联系本人免费解决问题。
最后
实验结束,感谢阅读,祝大家生活快乐,充实每一天,期待下次再见!
go install安装的不同Go版本的可执行程序和源码存放在哪里
在使用Go语言时,当你遇到新版本的Go出来后,通常会使用go install命令进行安装。以Mac系统安装go 1. beta 2版本为例,我们会下载可执行程序到本地,那么这个可执行文件存放的位置通常是:
默认情况下,可执行文件会存放在`$GOPATH/bin`或`$HOME/go/bin`中,若这些环境变量未设置,则存于`$GOROOT/bin`或`$GOTOOLDIR`中。
安装完成后,可通过查看对应目录来确认`go1.beta2`文件是否已存在。
然而,可执行文件仅能下载,尚无法直接使用。需要通过`go1.beta2 download`命令下载对应版本的源代码,下载完毕后,可以使用`go1.beta2`命令进行测试和验证。
至于源代码的存放位置,通过执行`go1.beta2 download`后,会提示源码安装位置。通常,源码会被安装在`$HOME/sdk`目录下。
另外,可使用`go1.beta2 env GOROOT`命令查看源码的完整路径。
如果需要更多学习资料和关注Go相关动态,推荐以下资源:
开源地址:GitHub - jincheng9/go-tutorial: Go学习资料,涵盖基础、中级和高级教程
公众号:coding进阶,关注获取最新Go面试题和技术栈
个人网站:Jincheng's Blog