golang如何编译


本文摘自php中文网,作者尚,侵删。

Go语言中使用 go build 命令主要用于编译代码。在包的编译过程中,若有必要,会同时编译与之相关联的包。

go build 有很多种编译方法,如无参数编译、文件列表编译、指定包编译等,使用这些方法都可以输出可执行文件。

go build 无参数编译

代码相对于 GOPATH 的目录关系如下:

.
└── src
└── chapter11
└── gobuild
├── lib.go
└── main.go

main.go 代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

package main

 

import (

    "fmt"

)

 

func main() {

 

    // 同包的函数

    pkgFunc()

 

    fmt.Println("hello world")

}

lib.go 代码如下:

1

2

3

4

5

package main

import "fmt"

func pkgFunc() {

    fmt.Println("call pkgFunc")

}

如果源码中没有依赖 GOPATH 的包引用,那么这些源码可以使用无参数 go build。格式如下:

1

go build

在代码所在目录(./src/chapter11/gobuild)下使用 go build 命令,如下所示:

$ cd src/chapter11/gobuild/
$ go build
$ ls
gobuild lib.go main.go
$ ./gobuild
call pkgFunc
hello world

命令行指令和输出说明如下:

第 1 行,转到本例源码目录下。

第 2 行,go build 在编译开始时,会搜索当前目录的 go 源码。这个例子中,go build 会找到 lib.go 和 main.go 两个文件。编译这两个文件后,生成当前目录名的可执行文件并放置于当前目录下,这里的可执行文件是 go build。

第 3 行和第 4 行,列出当前目录的文件,编译成功,输出 go build 可执行文件。

第 5 行,运行当前目录的可执行文件 go build。

第 6 行和第 7 行,执行 go build 后的输出内容。

go build+文件列表

阅读剩余部分

相关阅读 >>

golang如何升级?

静态网站 介绍

清晰架构(clean architecture)的go微服务: 程序设计

剑指 offer 17. 打印从1到最大的n位数

修改文件夹下面所有.jpg文件名demo ->欢迎加入微信交流群一起交流学习go

golang mutex 源码解析

pprof最全功能

整理在vscode中go编码发生的问题

golang中使用json时区分空字段和未设置字段的方法

手撸golang go与微服务 saga模式之5

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...