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

wx5e1abbbb0a5e5 · · 955 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

前言

import cycle not allowed

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

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

命名规范

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

包名: 小写字母,不分割单词,比如包名叫awesomeproject,又awesome和project组成;
文件名:同包名规范;
常量:大写字母,以下划线分割单词,比如AWESOME_CONST;
变量:小驼峰命名,比如awesomeVariable;
函数名/方法名:提供对外调用的公共方法,使用大驼峰命名,比如AwesomeFunction,私有方法,使用小驼峰。

开始

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

create-project.png

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

go get "github.com/TomatoMr/awesomeframework"

goget.png

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

go mod init awesomeframework

小结

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


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


有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:wx5e1abbbb0a5e5

查看原文:【代码篇】从零开始一步步搭建自己的golang框架

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

955 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传