我试过很多次用模块系统设置一个真正的 go 包并将代码存储在pkg. 我找到的所有教程都太基础了,在顶层创建一个带有 go 文件存储的模块,我不断地学习no Go files in /usr/local/go/github.com/me/mypackage。
我尝试了很多不同的东西,但我无法让它正常工作......
GOROOT设置为/usr/local/go。我在这里创建了一个包/usr/local/go/github.com/me/mypackage。
go.mod
module github.com/me/mypackage
go 1.18
pkg/main.go
package mypackage
// Add is our function that sums two integers
func Add(x, y int) (res int) {
return x + y
}
// Subtract subtracts two integers
func Subtract(x, y int) (res int) {
return x - y
}
pkg/main_test.go
package mypackage
import "testing"
func TestAdd(t *testing.T){
got := Add(4, 6)
want := 10
if got != want {
t.Errorf("got %q, wanted %q", got, want)
}
}
我跑:go test
我究竟做错了什么?我发现 Go 的设置非常令人沮丧,因为像 Rust 和 NodeJS 这样的语言/运行时具有非常友好的包管理器并且非常容易设置。
我正在尝试按照本 guidance for structuring go packages中的描述构建一个库。
慕工程0101907
相关分类