关注微信公众号《云原生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]

参考资料

[1]

参考: https://medium.com/golangd/5-golang-modules-packages-that-every-developer-should-know-c945f40ea173