go 编译器、标准库等安装的地方,所有我们写的代码其实都是文本文件而已,需要编译器等工具将其加工成可执行文件或者库文件才能使用,每种语言都有自己的这样一套“工具”。GOROOT 就是 go 语言的这类“工具”的安装目录。
类似工作区(workspace)的概念,其中里面有三个文件夹
有一些老的 go 教程,需要源代码放在 src 目录下,现在这种模式已经不推荐了,因为现在推荐的是 go module 模式,自己写的 module 放在哪里都可以。 之所以老的那种模式被废弃,主要原因是无法很好的做依赖管理。
GO 语言使用 package 来组织源代码的,就像其他的语言一样,在程序内部需要将功能进行划分,任何一个 go 语言程序必须属于一个package,每个 go 文件的开头要写上 package xxx。
package 一般要满足如下三个条件:
Go Module 在 go 1.14 正式发布,不用再把源代码放在 src 文件夹下,比之前更好的依赖管理,也是现在推荐的做法。启用 Go Modules 需要显示设置一个环境变量 GO111MODULE=on。
利用 go mod init 命令在当前目录初始化一个 module,如下。
go mod init example.com/test
其中 example.com/test 叫做 moudle path ,一般采用“代码仓库 + module name” 的方式定义。例如 github.com/go-sql-driver/mysq go 会去 github 仓库去获取这个 module。
在 module 主目录下主要会有两个文件和 module 相关:
可以快速的运行某个 go 文件,go 在背后会在临时的目录编译并且执行,在程序退出后清除临时目录。
编译 main 包,并在当前或者指定的目录生成可执行文件,非 main 包一般不会生成任何文件。
编译 go 文件,将生成的可执行文件或者库文件放到 GOPATH 下的 bin 或者 pkg 文件夹下。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章