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学习资料,攻城掠地源码涵盖基础、中级和高级教程
公众号: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:用户级程序目录,网上订餐系统源码可理解为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语言的过程中,当你需要在不同项目中导入自定义包时,可能会遇到一些过时的方法。我将分享最新的仿慕课网源码跨项目路径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)直接依赖库,h5表白源码通过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语言学习之旅中相见!
2024-12-24 10:09
2024-12-24 10:07
2024-12-24 10:05
2024-12-24 09:56
2024-12-24 09:32
2024-12-24 08:28