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

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

内容简介:不知道是不是有很多学习golang的新人会遇到这样的问题。包循环引用这个问题,让人很头疼,尤其是在项目越来越复杂的时候,出现这么一句报错,这意味着你可能需要修改很多代码,这对一个新人来讲压力很大。通常来讲,解决这个错误的办法是将需要引用的那个包抽象成接口,解耦后调用。但这不是我这个篇章想要讲的内容。这个系列主要讲的是如何从代码组织架构方面去避免这个问题。从零开始一步步搭建自己的golang框架。这个篇章将实现以下的功能:我们先明确一下命名规范,之后再去开始编写代码。如下:包名: 小写字母,不分割单词,比如包

前言

import cycle not allowed

不知道是不是有很多学习golang的新人会遇到这样的问题。包循环引用这个问题,让人很头疼,尤其是在项目越来越复杂的时候,出现这么一句报错,这意味着你可能需要修改很多代码,这对一个新人来讲压力很大。通常来讲,解决这个错误的办法是将需要引用的那个包抽象成接口,解耦后调用。但这不是我这个篇章想要讲的内容。这个系列主要讲的是如何从代码组织架构方面去避免这个问题。从零开始一步步搭建自己的golang框架。这个篇章将实现以下的功能:

  • 一个通用的基础框架,风格良好的代码组织架构;
  • 包含一些基本组件:日志、配置、数据库、队列等;
  • 对外提供http、websocket、rpc接口等服务。

命名规范

我们先明确一下命名规范,之后再去开始编写代码。如下:

包名: 小写字母,不分割单词,比如包名叫awesomeproject,又awesome和project组成;

文件名:同包名规范;

常量:大写字母,以下划线分割单词,比如AWESOME_CONST;

变量:小驼峰命名,比如awesomeVariable;

函数名/方法名:提供对外调用的公共方法,使用大驼峰命名,比如AwesomeFunction,私有方法,使用小驼峰。

开始

为了方便以后如果有人需要用到这个项目,我首先在GitHub上创建一个项目。

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

接着,使用go get拉下这个仓库:

go get "github.com/TomatoMr/awesomeframework"

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

最后,我们执行以下命令,为我们的项目初始化:

go mod init awesomeframework

小结

到此,我们完成了项目的初始化,下一步将会初步构建我们的代码组织架构。

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

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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

程序员实用算法

程序员实用算法

Andrew Binstock、John Rex / 陈宗斌 / 机械工业出版社 / 2009-9 / 65.00元

《程序员实用算法》重点关注的是实用、立即可用的代码,并且广泛讨论了可移植性和特定于实现的细节。《程序员实用算法》作者介绍了一些有用但很少被讨论的算法,它们可用于语音查找、日期和时间例程(直到公元1年)、B树和索引文件、数据压缩、任意精度的算术、校验和与数据验证,并且还最全面地介绍了查找例程、排序算法和数据结构。 《程序员实用算法》结构清晰,示例丰富,可作为广大程序员的参考用书。一起来看看 《程序员实用算法》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

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

HEX HSV 互换工具