go语言的编译结构

1.基本结构

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

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

go mod init gotest

go.mod的内容

module testgo //工程名

go 1.18      //编译工具版本号

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

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

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

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

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

3.多文件编译

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

        一个简单的多文件编译。

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

同样的

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的目录一般都加入在了环境变量中

export GPPATH=/*go文件路径*/

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值