1.准备

main.go

package main

import (
	"lib"
)

func main() {
	lib.Test()
}

lib.go

package lib

import "fmt"

func Test() {
	fmt.Println("it is test!")
}

2. 对lib.go文件进行编译生成.a文件

//代码无第三方依赖,用 -o 将静态库输出到指定路径(有第三方依赖则用-I)
#cd lib
#go tool compile -o lib.a lib.go 

3.编译main.go文件

进入static_lib目录(main.go根目录)
#cd ..
#go tool compile -o main.o -I lib/ main.go 

 

 4.链接成可执行文件

在static_lib目录下,执行
#go tool link -o file_exec -L lib/ main.o

 

5. 执行文件,测试效果

在static_lib目录下,
#./file_exec 

 

6.备注:实际业务中,可以把其他的库也生成静态库,放入到lib目录下(.a的文件),最后生成可执行文件都是一样的。