我正从C世界进入Go世界。C程序经常使用静态库中的定义(函数等),这些定义在Linux中通常以.a为后缀。
使用Go,我可以很容易地构建。Go文件到这样的库:
go build -buildmode=archive -o <name>.a
但是一旦构建,我如何指导其他Go程序使用这个库中的内容?
如果你真的想要它,你可以下载。a文件,例如库foo/bar,并将其放在$GOROOT/pkg/$GOOS_$GOARCH/foo/
,尽管你仍然需要在你的go路径中有lib的源代码,问题是这样做没有意义,因为go编译得足够快。你最多可以节省几秒钟,或者甚至没有,因为下载一个文件可能需要更多的时间。