乐趣区

关于goland:Nunu-助你快速构建高效可靠的Go应用

Nunu 是一个基于 Golang 的利用脚手架,它的名字来自于英雄联盟中的游戏角色,一个骑在雪怪肩膀上的小男孩。和努努一样,该我的项目也是 站在伟人的肩膀上,它是由 Golang 生态中各种十分风行的库整合而成的,它们的组合能够帮忙你疾速构建一个高效、牢靠的应用程序。

我的项目主页:https://github.com/go-nunu/nunu

性能

Nunu 采纳了多种风行的库,包含 Gin、Gorm、Wire、Viper、Zap、Golang-jwt、Go-redis、Testify、Sonyflake、robfig-cron 等等。这些库的组合能够帮忙你疾速构建一个高效、牢靠的应用程序。

个性

Nunu 具备以下个性:

  • 超低学习老本和定制:Nunu 封装了 Gopher 最相熟的一些风行库。你能够轻松定制应用程序以满足特定需要。
  • 高性能和可扩展性:Nunu 旨在具备高性能和可扩展性。它应用最新的技术和最佳实际,确保你的应用程序能够解决高流量和大量数据。
  • 安全可靠:Nunu 应用了稳固牢靠的第三方库,确保你的应用程序安全可靠。
  • 模块化和可扩大:Nunu 旨在具备模块化和可扩展性。你能够通过应用第三方库或编写本人的模块轻松增加新性能和性能。
  • 文档欠缺和测试齐备:Nunu 文档欠缺,测试齐备。它提供了全面的文档和示例,帮忙你疾速入门。它还包含一套测试套件,确保你的应用程序按预期工作。

简洁分层架构

Nunu 采纳了经典的分层架构。同时,为了更好地实现模块化和解耦,采纳了依赖注入框架 Wire。

文档

Nunu 提供了全面的文档和示例,帮忙你疾速入门。它还包含一套测试套件,确保你的应用程序按预期工作。

要求

要应用 Nunu,你须要在零碎上装置以下软件:

  • Golang 1.16 或更高版本
  • Git
  • MySQL 5.7 或更高版本(可选)
  • Redis(可选)

装置

你能够通过一行命令装置 Nunu:

go install github.com/go-nunu/nunu@latest

创立新我的项目

你能够应用以下命令创立一个新的 Golang 我的项目:

nunu new projectName

// or

nunu new projectName -r https://github.com/go-nunu/nunu-layout-advanced.git

成果预览:

此命令将创立一个名为 projectName 的目录,并在其中生成一个优雅的 Golang 我的项目构造。

.
├── cmd
│   ├── job
│   ├── migration
│   └── server
│       ├── wire
│       │   ├── wire.go
│       │   └── wire_gen.go
│       └── main.go
├── config
│   ├── local.yml
│   └── prod.yml
├── deploy
├── internal
│   ├── dao
│   │   ├── dao.go
│   │   └── user.go
│   ├── handler
│   │   ├── handler.go
│   │   └── user.go
│   ├── job
│   │   └── job.go
│   ├── middleware
│   │   ├── cors.go
│   │   ├── jwt.go
│   │   ├── log.go
│   │   └── sign.go
│   ├── migration
│   │   └── migration.go
│   ├── model
│   │   └── user.go
│   ├── provider
│   │   └── provider.go
│   ├── server
│   │   └── http.go
│   └── service
│       ├── service.go
│       └── user.go
├── pkg
│   ├── config
│   ├── helper
│   ├── http
│   └── log
├── script
├── storage
├── test
├── web
├── LICENSE
├── README.md
├── README_zh.md
├── go.mod
└── go.sum

这是一个经典的 Golang 我的项目的目录构造,蕴含以下目录:

  • cmd:寄存命令行利用的代码,例如 main.go
  • config:寄存配置文件,例如 config.yaml
  • internal:寄存我的项目外部的代码,不对外裸露。

    • dao:存放数据拜访对象(Data Access Object)的代码。
    • handler:寄存 HTTP 申请处理器的代码。
    • middleware:寄存 HTTP 中间件的代码。
    • model:存放数据模型的代码。
    • provider:寄存依赖注入的代码。
    • server:寄存 HTTP 服务器以及路由注册的代码。
    • service:寄存业务逻辑的代码。
  • pkg:寄存可重用的代码,对外裸露。

    • config:寄存读取配置文件的代码。
    • helper:寄存辅助函数的代码。
    • http:寄存 HTTP 相干的代码。
    • log:寄存日志相干的代码。

创立组件

你能够应用以下命令为我的项目创立 handler、service 和 dao 等组件:

nunu create handler user
nunu create service user
nunu create dao user
nunu create model user

这些命令将别离创立一个名为 UserHandlerUserServiceUserDaoUserModel 的组件,并将它们搁置在正确的目录中。

启动我的项目

你能够应用以下命令疾速启动我的项目:

nunu run

此命令将启动你的 Golang 我的项目,并反对文件更新热重启。

编译 wire.go

你能够应用以下命令疾速编译 wire.go

nunu wire

此命令将编译你的 wire.go 文件,并生成所需的依赖项。

奉献

如果你发现任何问题或有任何改良意见,请随时提出问题或提交拉取申请。十分欢送你的奉献!

许可证

Nunu 是依据 MIT 许可证公布的。无关更多信息,请参见 LICENSE 文件。

总之,Nunu 是一个十分优良的 Golang 利用脚手架,它能够帮忙你疾速构建高效、牢靠的应用程序。如果你正在寻找一个优良的 Golang 利用脚手架,那么 Nunu 相对是你的不二抉择!

退出移动版