go run、build、install、get的原理和区别
在学习Go语言的过程中,我逐渐认识到编译命令的重要性,特别是go run、go build、go install和go get。以下是ASK传奇引擎源码对这些命令的详细解释:
首先,go run命令专为运行单个源码文件而设计,它会检查输入的文件是否为命令源码(main包)并执行。使用go run -n可查看命令执行过程,它会临时创建文件并进行一系列编译步骤,最终生成可执行文件。
相比之下,go build用于测试编译,针对包或项目。对于普通包,它不会生成任何文件;对main包,它会生成可执行文件,若需特定路径,需使用go build -o。go build默认编译当前目录下的所有go文件,但会跳过以”_”或”.”开头的文件。
go install则进一步编译并安装代码包或源码,将结果移动到$GOPATH/pkg或$GOPATH/bin。它对有main函数的爱发源码社区go文件生成可执行文件,对无main函数的生成.a应用包。
go get命令在Go 1.后主要用于下载代码包和更新模块,不再进行安装。它默认将下载的包放入$GOPATH/src目录。
其他常用命令如go clean用于清理编译后的临时文件,go fmt用于格式化代码,go test则用于运行测试,go doc提供强大的文档支持,go fix修复代码兼容性问题,go version和go env则用来查看版本和环境变量,go list则列出已安装的包。
让你的Golang项目在IDE里跑起来(Goland使用入门-GOROOT、GOPATH、src、 pkg、bin、import)
启动你的Golang项目,避免反复配置的c++经典源码困扰,理解并掌握GOROOT、GOPATH、src、pkg和bin这几个关键目录至关重要。首先,一个基本的项目结构包括src目录存放源代码,bin存放编译后的可执行文件,而pkg则存放编译后的包文件。bin和pkg通常由go命令自动生成,你只需创建src来存放项目代码。
创建一个简单的项目,例如命名为main,包含main.go文件。内容如下:
创建好项目后,接下来就是在Goland中配置。你需要设置GOROOT,指向你的Go安装路径,这类似Java的vc++.net源码JAVA_HOME。同时,配置GOPATH,指定你的项目源代码的根目录。
Goland中,有两种GOPATH配置:Project GOPATH针对每个项目独立,Global GOPATH则适用于共享第三方包。在ToolBar的配置中,选择运行文件时,指定main.go所在的文件夹,输出文件夹为src的同级bin目录,工作目录即设置的GOPATH。
注意,如果在多个项目中频繁切换,不要修改配置框中的目录,否则可能导致运行错误。例如,你可以这样配置:
点击保存并运行,成功后你会看到bin目录自动创建。若需自定义输出文件名,可使用-o参数。
在项目中引用其他模块或第三方包时,只需将相关代码放入src的子目录中,如添加一个calc文件夹下的add.go。注意,包名和文件夹名一致,函数名不因文件名改变而改变。
对于第三方包的引用,如common库,只需在main中导入并调用即可。更多关于vendor工具的使用,可以关注我的后续更新。
以上内容参考了《小议并实战go包------顺便说说go中的GOROOT,GOPATH和src,pkg,bin》一文,由OpenWrite博客发布。
linux下体验最好的go开发工具是什么?
在Linux系统中寻找最佳的Go开发工具,答案可能因个人喜好和工作流程而异。然而,Idea + Go 组合常被推崇为一种高效、功能丰富的开发环境。配置Idea + Go需遵循以下步骤:
开始前,确保已将你的工程保存在Linux主目录的 `~/idea/project` 文件夹下。此步骤为创建工程的起点。
接下来,于工程目录内新建 `src`、`pkg` 和 `bin` 三个子目录。这三个目录分别用于存放Go源代码、包和二进制文件,遵循Go的文件组织规则。
接着,在Idea的配置中加入 `~/idea/project` 到 GOPATH环境变量中。这一步骤确保Idea能识别并使用到你的Go工程。
完成上述设置后,你便能在Idea中顺畅地开发、编译和运行Go程序,体验到集成开发环境带来的便利。
Idea + Go的组合之所以广受青睐,主要归功于其强大的功能、直观的界面和对Go语言特性的良好支持。配置过程看似繁琐,实则为提升开发效率铺平了道路。通过正确的配置,开发者能够在Linux环境下实现高效、便捷的Go编程体验。
Go | 讲解GOROOT、GOPATH、GOBIN
Go语言,全称为Golang,由Google研发,具备静态类型、编译型、并发行性及垃圾回收功能,被誉为未来服务器端编程语言。
Go语言特色包括自动垃圾回收、丰富的内置类型、函数多返回值、错误处理、匿名函数、并发编程及反射等特性。
GOROOT是golang的安装路径,当完成安装后便已存在。
GOPATH环境变量是Go命令的关键依赖,允许多个目录,Windows下使用分号分隔。
多个GOPATH时默认将go get获取的包存放在第一个目录下。
GOBIN存放go install编译生成的可执行文件,不允许设置多个路径,为空时遵循“约定优于配置”原则。
GOPATH目录下src为开发程序的主要目录,源码存放于此,每项目一个目录。
使用$GOPATH/src/myproject表示myproject应用包或可执行应用,取决于package是main还是其他。
go get执行两件事:生成可执行文件放入bin目录或编译普通包到pkg目录,.a结尾。
不使用go mod方式,项目全位于$GOPATH/src。
致力于分享个人经验总结,旨在提供微小帮助,创造良好的学习氛围。
努力为个人、家庭、中国互联网物联网技术、数字化转型及经济发展做贡献。
2024-12-28 16:40
2024-12-28 16:06
2024-12-28 15:50
2024-12-28 14:57
2024-12-28 14:40