首页 > 其他分享 >Golang 应用脚手架

Golang 应用脚手架

时间:2023-06-12 09:34:27浏览次数:44  
标签:wire nunu 代码 Golang 存放 user 应用 go 脚手架

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

安装要求

要使用 Nunu,你需要在系统上安装以下软件:

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

安装

你可以通过一行命令安装 Nunu:

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

创建新项目

你可以使用以下命令创建一个新的 Golang 项目:

1 2 3 nunu new projectName // or nunu new projectName -r https://github.com/go-nunu/nunu-layout-advanced.git

效果预览:

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 . ├── 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 等组件:

1 2 3 4 nunu create handler user nunu create service user nunu create dao user nunu create model user

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

启动项目

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

1 nunu run

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

编译 wire.go

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

1 nunu wire

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

许可证

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

标签:wire,nunu,代码,Golang,存放,user,应用,go,脚手架
From: https://www.cnblogs.com/cheyunhua/p/17474092.html

相关文章

  • 自然语言处理 Paddle NLP - 词向量应用展示
    词向量(Wordembedding),即把词语表示成实数向量。“好”的词向量能体现词语直接的相近关系。词向量已经被证明可以提高NLP任务的性能,例如语法分析和情感分析。PaddleNLP已预置多个公开的预训练Embedding,您可以通过使用paddlenlp.embeddings.TokenEmbedding接口加载各种预训练Embedd......
  • Powershell 应用之一
    前言:对于一个Windowsserver运维的管理员来说,powershell命令至关重要,它不仅仅能够提高你的工作效率,也是你工作中的好帮手,所以应该静下心来好好学习命令,虽然一开始不太习惯用着用着你就会爱不释手。一、AD对象日常管理用户管理例子1:统计OU下总共有多少个AD账号(Get-ADUser-Filter......
  • postgresml 基于postgres 的ai 应用数据库
    postgresml基于postgres的ai应用数据库,我们可以基于sql使用开源模型进行训练,实际上如果了解pg的化pg实际也有一个开源的madlib也属于机器学习领域的不错选择说明如果测试使用的,注意postgresmldocker镜像很大,同时需要自己构建会比较慢,后边我会介绍下使用参考资料https......
  • 深度学习应用篇-计算机视觉-视频分类[8]:时间偏移模块(TSM)、TimeSformer无卷积视频分类
    深度学习应用篇-计算机视觉-视频分类[8]:时间偏移模块(TSM)、TimeSformer无卷积视频分类方法、注意力机制1.时间偏移模块(TSM)视频流的爆炸性增长为以高精度和低成本执行视频理解任务带来了挑战。传统的2DCNN计算成本低,但无法捕捉视频特有的时间信息;3DCNN可以得到良好的性能,但计算量......
  • 实验6 turtle绘图与python库应用编程体验
    task1-1源代码1fromturtleimport*23defmove(x,y):4'''画笔移动到坐标(x,y)处'''5penup()6goto(x,y)7pendown()89defdraw(n,size=100):10'''绘制边长为size的正n变形'''1......
  • 深度学习应用篇-计算机视觉-视频分类[8]:时间偏移模块(TSM)、TimeSformer无卷积视频分类
    深度学习应用篇-计算机视觉-视频分类[8]:时间偏移模块(TSM)、TimeSformer无卷积视频分类方法、注意力机制1.时间偏移模块(TSM)视频流的爆炸性增长为以高精度和低成本执行视频理解任务带来了挑战。传统的2DCNN计算成本低,但无法捕捉视频特有的时间信息;3DCNN可以得到良好的性能,但计算......
  • phptrace 是一个用于跟踪 PHP 应用程序性能的工具,可以帮助开发者快速发现性能瓶颈和调
    phptrace是一个用于跟踪PHP应用程序性能的工具,可以帮助开发者快速发现性能瓶颈和调试PHP应用程序。以下是一个使用phptrace的简单案例:1.安装phptrace可以通过以下命令安装phptrace:sudoapt-getinstallphp7.0-devgitclonehttps://github.com/Qihoo360/phptrace.......
  • 单例模式(static应用场景)
     单例模式(Singleton) 设计-->一个类只能创建一个对象有效减少内存占用空间 设计一个系统--->百度搜索引擎 publicclassBaidu{ publicvoid搜索(Stringkeyword){ } } 创建一个Baidu对象new 调用搜索的方法做事情方法执行一遍 同一时间有很多很多......
  • Segment Routing 典型应用场景
       ......
  • Trie树模板与应用
    文章和代码已经归档至【Github仓库:<https://github.com/timerring/algorithms-notes>】或者公众号【AIShareLab】回复算法笔记也可获取。Trie树(字典树)Trie树是用来快速存储和查找字符串集合的数据结构。某个字符串集合对应的有根树。树的每条边上对应有恰好一个字符,每个顶点代......