关注微信公众号《云原生CTO》更多云原生干货等你来探索
云原生技术云原生开发面试技巧解答CTOGoGoGoGoRustPythonIstiocontainerdCoreDNSEnvoyetcdFluentdHarborHelmJaegerKubernetesOpen Policy AgentPrometheusRookTiKVTUFVitessArgoBuildpacksCloudEventsCNIContourCortexCRI-OFalcoFluxgRPCKubeEdgeLinkerdNATSNotaryOpenTracingOperator FrameworkSPIFFESPIREThanos
每个开发人员都应该知道的 5 个 Golang 模块/包
GoGoogle
GolangLaravelGo5Golang
Goose — 数据库迁移
GooseGolang
Goose
运行以下命令
$ go get github.com/pressly/goose
您也可以决定使用轻量级版本:
$ go build -tags='no_postgres no_mysql no_sqlite3' -i -o goose ./cmd/goose
Goose
GooseSQL
$ goose create new_column sql
有关更深入的文档,我建议您访问他们的 官方页面
https://github.com/pressly/goose
Go Kit — 微服务
Go Kit
https://github.com/go-kit/kit
Go Kit
Go Kit
$ go get github.com/go-kit/kit
Go Kit
创建一个新项目并为自己创建一个新模型。
package article
import (
"time"
)
type Article struct {
ID string `json:"id"`
Username string `json:"username"`
Content string `json:"content"`
Text string `json:"title"`
CreatedOn time.Time `json:"created_on"`
}
您可以在服务中使用此模型:
package article
import (
"context"
)
type TodoService interface {
GetAllForUser(ctx context.Context, username string) ([]Article, error)
GetByID(ctx context.Context, id string) (Article, error)
Add(ctx context.Context, article Article) (Article, error)
Update(ctx context.Context, id string, article Article) error
Delete(ctx context.Context, id string) error
}
Authboss — 模块化身份验证。
Authboss
Authboss
您可以通过运行以下命令来安装` Authboss:``
$ go get -u github.com/volatiletech/authboss/v3
Authboss
Authboss
https://github.com/volatiletech/authboss
Gingko — 测试框架。
GingkoGolang
https://onsi.github.io/ginkgo/
Gingko
要安装此软件包,请运行以下命令:
$ go get github.com/onsi/ginkgo/ginkgo
Gingko
Gingko
$ ginkgo bootstrap
如需进一步解释,请查看他们的 优秀文档 。
https://onsi.github.io/ginkgo/
NSQ - 消息平台
NSQ
https://nsq.io/
NSQ
NSQ
$ git clone https://github.com/nsqio/nsq
$ cd nsq
$ make
NSQ
NSQ
https://nsq.io/overview/quick_start.html
Go
5.3 参考资料
参考[1]
参考资料
参考: https://medium.com/golangd/5-golang-modules-packages-that-every-developer-should-know-c945f40ea173