前言
我使用goland開發,下面都是用goland做演示
一、生成demo.a
新建一個項目,目錄如下

demo.go
package demo
import (
"fmt"
)
func Demo() {
fmt.Printf("hello world")
}
main.go
package main
import "demo"
func main() {
demo.Demo()
}
配置Run/Debug Configurations,在Go tool arguments:后輸入-i,然后運行后就會生成demo.a


二、修改demo.go
在文件頭添加//go:binary-only-package,添加這個之后就不會編譯了,這個在go/build/doc.go文件中最下方有說明
demo.go
//go:binary-only-package
package demo
import (
_ "fmt"
)
func Demo() {
}
// //go:binary-only-package
//
// package mypkg
//
// The source code may include additional Go code. That code is never compiled
// but will be processed by tools like godoc and might be useful as end-user
// documentation.
運行后發現可以正常調用到demo.a里面的Demo函數

提示:必須導入demo里用到的包,要不然會報錯
到此這篇關于go開發中引用靜態庫.a文件的方法的文章就介紹到這了,更多相關go引用靜態庫.a文件內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!