我是靠谱客的博主 洁净马里奥,这篇文章主要介绍go语言的编译结构,现在分享给大家,希望可以做个参考。

1.基本结构

  go语言的执行是以包含main函数的*.go开始的。但是光有main函数是无法执行的,一个简单的go语言包含以下几部分,文件名:main.go

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package main import ( "fmt" ) func main() { fmt.Println("hello world1") } //1.package main 包 //2.import ( 相当于引入头文件 // "fmt" // ) //3.func main main函数

2.简单编译

在安装过编译kit与标准包之后,编译工程。

1.初始化得到一个go.mod

复制代码
1
go mod init gotest

go.mod的内容

复制代码
1
2
3
module testgo //工程名 go 1.18 //编译工具版本号

用于对工程依赖包进行管理的文件

复制代码
1
2
go mod tidy //引用项目需要的依赖增加到go.mod文件。 //去掉go.mod文件中项目不需要的依赖。如果有的话

可以理解是对go.mod里面内容的更新。

有了go.mod之后,就能进行编译了

复制代码
1
2
go build main.go //该命令对main.go进行编译 go run main.go //该命令可以直接运行工程,在调试阶段用比较方便

3.多文件编译

        如果一个工程很大的话,做在一个文件中不方便维护和管理,当然无论是什么语言都可以进行模块化管理。go也一样。

        一个简单的多文件编译。

如果有多个文件,mian.go,test1.go,test2.go,test3.go...

同样的

复制代码
1
2
3
4
go mod init gotest //在没有go.mod的情况下执行 go mod tidy //更新go.mod go build main.go test1.go... //或者 go build *.go

4.编译过程解析

1.执行go mod init...之后,生成go.mod,它是包管理工具,会对包进行所需要的包进行检测,确保它在本地的文件中,包会在go的目录中。

go的目录一般都加入在了环境变量中

复制代码
1
export GPPATH=/*go文件路径*/

如果工程需要github上的外部库,外部库会被拉取到go目录的src的目录下,供给编译时使用

在执行go build *.go之后,go编译器会先执行main函数,在遇到依赖时会对进行查找,得到可执行程序

最后

以上就是洁净马里奥最近收集整理的关于go语言的编译结构的全部内容,更多相关go语言内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(95)

评论列表共有 0 条评论

立即
投稿
返回
顶部