我知道如何制作一个函数,将所有给定的参数和一个减法相加,我想制作一个简单的数学库,用于加法和减法以及乘法和除法,但我的互联网搜索如何编译成图书馆没有结果。我想知道是否有办法将.go写入库中,如果有,你怎么做。我仍然是Go的新手。如果你知道怎么请告诉我
答案 0 :(得分:1)
如果您在包裹上运行go install
,它会为您创建一个包含该包名称的静态库,并将其放在GOPATH/pkg/ARCH/packageName/packageName.a
中。例如,如果您将$GOPATH
设置为/home/yourname/go
,则可以创建以下文件:
/home/yourname/go/src/myMath/myMath.go
内容为:
package myMath
func MyAdd(/* .... */) { // Capatalize the name of the function to allow it to be accessible from outside of this package
// Do stuff
}
现在,如果您执行go install
,您将在上面的目录中拥有一个myMath.a
库。
要在另一个go包中使用此库,myStats
说,您可以执行以下操作:
package myStats
import "myMath" // import your library. notice the "" around the name
func someFunction(/* .... */) {
r := myMath.MyAdd(/* ..... */)
}
再次注意,您必须将您希望使用的功能的名称大写在包外。例如,如果您的添加功能被称为myAdd
,那么即使您导入myStats
包,也无法从myMath
访问该功能。
编辑根据@icza的评论修正了一些错误。