1.go install安装的导入不同Go版本的可执行程序和源码存放在哪里
2.Linux(Ubuntu)安装Go语言开发环境
3.新手上路go,跨项目路径import自定义包
4.Go的源码执行原理以及Go的命令
5.在M1 Mac上编译使用arm64原生go
6.Go语言Hello world(GOPATH和Go Module版)
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学习资料,ssd源码阅读涵盖基础、中级和高级教程
公众号:coding进阶,关注获取最新Go面试题和技术栈
个人网站:Jincheng's Blog
Linux(Ubuntu)安装Go语言开发环境
Get Started - The Go Programming Language
通过VS Code连接WSL,将安装包上传到WSL中。
Step2:解压并安装
解压安装包。
解压后得到一个名为go的文件夹,可以查看其中的文件。
进入bin文件夹,会发现一个可执行程序--go,这是我们需要使用的。
然而,这样只能在当前目录下使用go命令。若想全局使用,需要将此路径添加到环境变量中,即.bashrc文件中。同时,为了方便管理,需要将此目录移动到/usr/local或/opt目录下。
关于目录的说明,可参考CSDN上的这篇文章:/usr/local和opt目录有何区别 - Trader x的博客 - CSDN博客
/usr:系统级目录,可理解为C:/Windows/。/usr/lib可理解为C:/Windows/System。/usr/local:用户级程序目录,可理解为C:/Program Files/。用户自己编译的软件默认会安装到这个目录下。/opt:用户级程序目录,exoplayer 源码解析可理解为D:/Software。opt有可选的意思,这里可以放置第三方大型软件(或游戏),不需要时直接rm -rf掉即可。在硬盘容量不足时,也可将/opt单独挂载到其他磁盘上使用。源码放哪里?/usr/src:系统级源码目录。/usr/local/src:用户级源码目录。
因此,通过mv命令将/go文件夹整体移动到/opt目录下。
Step3:添加环境变量
完成以上步骤后,只需在.bashrc文件下添加环境变量,即可完成Go语言环境的安装。
配置完环境变量后,需要手动加载或重启终端。
然后即可使用go命令了。
Step4:验证安装
使用go env命令验证是否安装成功,安装成功如下图所示。
Step5:第一个Go程序---helloWorld.go
首先进入刚才创建的GOPATH目录,创建一个新文件helloWorld.go。
成功运行,大功告成~
新手上路go,跨项目路径import自定义包
在学习Go语言的过程中,当你需要在不同项目中导入自定义包时,可能会遇到一些过时的方法。我将分享最新的miko源码使用跨项目路径import自定义包的实践技巧。
首先,确保你的项目结构清晰。例如,main.go文件中导入的mypkg.go和myapi.go,它们之间的关系要明确。在main.go中,通过import语句导入其他项目路径下的package,如"import/mypkg"。
启用Go模块功能是关键一步。在项目的根目录下,使用go mod init创建go.mod文件,并配置GOMODULE为"auto",如:`go env -w GOMODULE=auto`。这有助于管理项目的依赖。如果没有正确配置,go build可能会找不到自定义包myapi。
接下来,你需要在go.mod文件中描述依赖的路径。如果myapi不在标准的GOPATH路径下,你需要指定其具体位置。编译时,使用正确的命令,如`go build`,成功后项目即可运行。
更进一步,Go支持从网络(如GitHub)直接依赖库,jia this 源码通过require或replace进行配置。`require xxx.xxx v0.x.x`用于导入网络上的特定版本,而`replace xxx.xxx => 源码链接`则用于替换本地源码的路径。
在Go 1.版本以后,模块路径的命名规范要求符合网络域名格式,即使是本地包。不过,这在最新版本的Go 1.中已得到改进,可以使用不带域名的包路径,但需遵循相应的命名规则,避免出现"malformed module path"的错误。
总结,了解并正确配置Go模块,明确包路径,以及灵活运用require和replace,是跨项目路径import自定义包的关键。希望这些经验能帮助到初学者。请注意尊重原创,禁止未经许可的转载。祝你学习顺利!
Go的执行原理以及Go的命令
Go的源码文件主要分为三类:命令源码文件、库源码文件和测试源码文件。
命令源码文件是Go程序的入口,被声明为main包,包含main函数。文件被安装后,会根据GOPATH设置存放于当前工作区的bin目录或GOBIN设置的目录。这些文件可以单独运行,使用go run命令直接执行,或通过go build或go install生成可执行文件。命令源码文件不应与其他文件混合在同一个代码包中。
库源码文件不具备命令源码文件的特征,是普通源码文件。文件被安装后,对应的归档文件(.a文件)会被存放在当前工作区的pkg目录下的平台相关目录。库源码文件不能通过go build或go install编译和安装。
测试源码文件以_test.go为后缀,并包含Test或Benchmark函数。Test函数接受*testing.T参数,用于功能测试;Benchmark函数接受*testing.B参数,用于性能测试。
命令方面,Go的最新版本1.提供了个基本命令,如build、get、install、run等。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的源码文件分类清晰,命令提供了全面的编译、下载、安装、测试和文档支持,满足了开发者的需求。
在M1 Mac上编译使用arm原生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语言Hello world(GOPATH和Go Module版)
本文介绍学习Go语言时如何从零开始安装并配置环境,同时开发一个简单的Hello World应用,包括两种版本:GOPATH和Go Module版本。首先,您需要访问Go语言的官方下载页面,根据您的操作系统选择对应版本进行安装。安装步骤主要包括下载安装包、安装Go语言并验证安装成功。
在配置环境方面,需要了解GOROOT和GOPATH两个环境变量。GOROOT是Go语言的安装目录,通常在MacOS下会自动配置为/usr/local/go。在使用Go语言时,需要确保GOROOT目录下包含bin、doc和src子目录。GOPATH则是用于存放Go源代码的工作目录,对于Go语言的1.版本之前,GOPATH是必须的,所有的Go项目代码都需要保存在GOPATH目录下。然而,自Go语言1.版本后,推荐使用Go Module替代GOPATH,以更有效地管理Go项目的依赖。
接下来,本文将引导您安装适合的IDE,比如Visual Studio Code或GoLand。这些IDE提供了Go语言开发所需的功能,例如Go插件、调试功能以及智能辅助功能。最后,本文演示了如何通过GOPATH和Go Module两种方式实现Hello World应用的开发。
在GOPATH版本中,需要创建一个目录结构,设置GOPATH环境变量,并在指定目录下创建源代码文件。通过执行go build命令生成可执行文件,并运行该文件以输出"Hello, World"。而在Go Module版本中,初始化Go模块并添加依赖,如quote库,编写对应的源代码文件,执行go build命令生成可执行文件,然后运行该文件同样输出"Hello, World"。
本文的目标是帮助初学者从零开始学习Go语言的基本环境配置和简单的应用开发,以便为后续学习Go语言的语法、数据类型、判断和循环等核心概念打下坚实的基础。随着对Go语言深入理解的不断加深,您将能够更好地利用Go语言的特性进行高效编程。
请跟随本文的步骤,完成Go语言的Hello World应用,尝试理解环境配置和模块管理的重要性,并为后续学习Go语言的更高级功能做好准备。期待与您在下一期的Go语言学习之旅中相见!