Nunu快速构建高效可靠Go应用脚手架使用详解

 更新时间:2023年06月08日 11:47:12   作者:ditto  
这篇文章主要为大家介绍了如何使用Nunu快速构建高效可靠Go应用脚手架详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Nunu脚手架

Nunu 是一个基于 Golang 的应用脚手架,它的名字来自于英雄联盟中的游戏角色,一个骑在雪怪肩膀上的小男孩。和努努一样,该项目也是站在巨人的肩膀上,它是由 Golang 生态中各种非常流行的库整合而成的,它们的组合可以帮助你快速构建一个高效、可靠的应用程序。

项目主页:https://github.co m/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

这些命令将分别创建一个名为 UserHandlerUserServiceUserDao 和 UserModel 的组件,并将它们放置在正确的目录中。

启动项目

你可以使用以下命令快速启动项目:

nunu run

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

编译 wire.go

你可以使用以下命令快速编译 wire.go

nunu wire

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

许可证

Nunu 是根据 MIT 许可证发布的。有关更多信息,请参见 LICENSE 文件。

总结

Nunu 是一个非常优秀的 Golang 应用脚手架,它可以帮助你快速构建高效、可靠的应用程序。如果你正在寻找一个优秀的 Golang 应用脚手架,那么 Nunu 绝对是你的不二选择!

以上就是Nunu快速构建高效可靠Go应用脚手架使用详解的详细内容,更多关于Nunu构建Go应用的资料请关注脚本之家其它相关文章!

相关文章

  • 基于原生Go语言开发一个博客系统

    基于原生Go语言开发一个博客系统

    这篇文章主要为大家详细介绍了如何基于原生Go语言开发一个简单的博客系统,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • Go语言在Linux环境下输出彩色字符的方法

    Go语言在Linux环境下输出彩色字符的方法

    这篇文章主要介绍了Go语言在Linux环境下输出彩色字符的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • Golang实现自己的orm框架实例探索

    Golang实现自己的orm框架实例探索

    这篇文章主要为大家介绍了Golang实现自己的orm框架实例探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 如何在Go中将[]byte转换为io.Reader

    如何在Go中将[]byte转换为io.Reader

    本文主要介绍了如何在Go中将[]byte转换为io.Reader,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Go语言框架Beego项目搭建的方法步骤

    Go语言框架Beego项目搭建的方法步骤

    这篇文章主要介绍了Go语言框架Beego项目搭建的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • golang用melody搭建轻量的websocket服务的示例代码

    golang用melody搭建轻量的websocket服务的示例代码

    在Go中,可以使用gin和melody库来搭建一个轻量级的WebSocket服务,gin是一个流行的Web框架,而melody是一个用于处理WebSocket的库,本文给大家演示如何使用gin和melody搭建WebSocket服务,感兴趣的朋友一起看看吧
    2023-10-10
  • golang 整合antlr语法校验解析

    golang 整合antlr语法校验解析

    Antlr是一个语法分析器,本身是用java实现的,然是Runtime的库也支持Golang、Java、Python等,本文给大家讲解使用golang整合antlr进行语法解析,感兴趣的朋友一起看看吧
    2023-02-02
  • Go uuid库的具体使用

    Go uuid库的具体使用

    在现代软件开发中,全球唯一标识符(UUID)在许多场景中发挥着重要的作用,本文主要介绍了Go uuid库的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • go实现一个内存缓存系统的示例代码

    go实现一个内存缓存系统的示例代码

    本文主要介绍了go实现一个内存缓存系统的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • Go语言中Serverless实战

    Go语言中Serverless实战

    本文主要介绍了Go语言中Serverless实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-03-03

最新评论