【代码篇】从零开始一步步搭建自己的golang框架(二)

栏目: IT技术 · 发布时间: 6年前

内容简介:上一篇我写到了项目初始化完成,今天接着写。目标是完成项目基本的代码目录架构。首先,创建main.go文件,作为我们的程序的入口文件。顺着思路走,我们先不写具体的代码,有了入口文件之后,我们下一步应该怎么做?读取配置?不,应该是写日志了。所以我们创建一个logger目录,用来存放日志组件。

上一篇我写到了项目初始化完成,今天接着写。目标是完成项目基本的代码目录架构。

第一步

首先,创建main.go文件,作为我们的程序的入口文件。

第二步

顺着思路走,我们先不写具体的代码,有了入口文件之后,我们下一步应该怎么做?读取配置?不,应该是写日志了。所以我们创建一个logger目录,用来存放日志组件。

第三步

现在是时候,读取我们项目的配置了,我们创建一个config目录来存放配置有关的东西。

第四步

想想,我们读取完配置之后,配置一般可能包含哪些东西?是不是有数据库的配置?是不是有队列的配置?是不是有缓存的配置?一般来讲可能包含这些配置,或者是其中的某些配置,没关系,我们要写的是一个通用的框架,那么我们先创建一些文件夹,分别是db、mq、 redis 对应数据库、队列、缓存。

第五步

读取完配置之后,我们的项目就开始检查连接数据库、队列、缓存是否正常。过后,我们就开始启动服务,监听端口了。这里我想实现一个通用的接口,抽象一个真正的数据处理层,再由其他层去对外实现转发。这里,我会创建一个名为process的文件夹,再在下面创建http、rpc目录,以及一个controller目录。

第六步

最后,我们再添加一下一些其他的杂项。创建utils目录,用来存放公用的 工具 库、添加.gitignore文件等。

来看下最后我们的目录结构长什么样子:

├─config  # 配置目录
├─db  # 数据库组件
├─logger  # 日志组件
├─mq  # 队列组件
├─process  # 通用接口层
│  ├─controller  # 数据处理层
│  ├─http  # http接口服务
│  └─rpc  # rpc接口服务
├─redis  # 缓存组件
├─utils  #公共库
├─.gitignore
└─main.go  # 入口文件

小结

我们先将代码组织架构大概梳理出来,接着再往里面实际得填充代码,接下去的文章会按照从入口文件下手的思路,将代码一点点地填充上去。

欢迎关注我的公众号: onepunchgo ,会整理相关的文档和资料。

【代码篇】从零开始一步步搭建自己的golang框架(二)

qrcode_for_gh_b6f48ecdc457_258.jpg


以上所述就是小编给大家介绍的《【代码篇】从零开始一步步搭建自己的golang框架(二)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

商业模式新生代

商业模式新生代

亚历山大•奥斯特瓦德 (Alexander Osterwalder)、伊夫•皮尼厄 (Yves Pigneur) / 王帅、毛心宇、严威 / 机械工业出版社 / 2011-8-15 / 88.00元

中文官网:http://www.bizmodel.org 内容简介:当你愉快的看完第一章:商业模式画布,赫然发现这些构成要素全 都交织成一幅清晰的图像在脑海中呈现,它们如何互相影响、如何交互作用全都历历在目。利用商业模式画布分析瑞士银行、Google、Lego、Wii 、Apple等跨国企业,归纳出三种不同的产业 模式,也涵括新近的热门现象免费效应及长尾理论等。在这些有趣的例子中,我们不仅更......一起来看看 《商业模式新生代》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具