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的文件),最后生成可执行文件都是一样的。