内容简介:不知道是不是有很多学习golang的新人会遇到这样的问题。包循环引用这个问题,让人很头疼,尤其是在项目越来越复杂的时候,出现这么一句报错,这意味着你可能需要修改很多代码,这对一个新人来讲压力很大。通常来讲,解决这个错误的办法是将需要引用的那个包抽象成接口,解耦后调用。但这不是我这个篇章想要讲的内容。这个系列主要讲的是如何从代码组织架构方面去避免这个问题。从零开始一步步搭建自己的golang框架。这个篇章将实现以下的功能:我们先明确一下命名规范,之后再去开始编写代码。如下:包名: 小写字母,不分割单词,比如包
前言
import cycle not allowed
不知道是不是有很多学习golang的新人会遇到这样的问题。包循环引用这个问题,让人很头疼,尤其是在项目越来越复杂的时候,出现这么一句报错,这意味着你可能需要修改很多代码,这对一个新人来讲压力很大。通常来讲,解决这个错误的办法是将需要引用的那个包抽象成接口,解耦后调用。但这不是我这个篇章想要讲的内容。这个系列主要讲的是如何从代码组织架构方面去避免这个问题。从零开始一步步搭建自己的golang框架。这个篇章将实现以下的功能:
- 一个通用的基础框架,风格良好的代码组织架构;
- 包含一些基本组件:日志、配置、数据库、队列等;
- 对外提供http、websocket、rpc接口等服务。
命名规范
我们先明确一下命名规范,之后再去开始编写代码。如下:
包名: 小写字母,不分割单词,比如包名叫awesomeproject,又awesome和project组成;
文件名:同包名规范;
常量:大写字母,以下划线分割单词,比如AWESOME_CONST;
变量:小驼峰命名,比如awesomeVariable;
函数名/方法名:提供对外调用的公共方法,使用大驼峰命名,比如AwesomeFunction,私有方法,使用小驼峰。
开始
为了方便以后如果有人需要用到这个项目,我首先在GitHub上创建一个项目。
接着,使用go get拉下这个仓库:
go get "github.com/TomatoMr/awesomeframework"
最后,我们执行以下命令,为我们的项目初始化:
go mod init awesomeframework
小结
到此,我们完成了项目的初始化,下一步将会初步构建我们的代码组织架构。
欢迎关注我的公众号: onepunchgo ,会整理相关的文档和资料。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Pro JavaScript Techniques
John Resig / Apress / 2006-12-13 / USD 44.99
Pro JavaScript Techniques is the ultimate JavaScript book for the modern web developer. It provides everything you need to know about modern JavaScript, and shows what JavaScript can do for your web s......一起来看看 《Pro JavaScript Techniques》 这本书的介绍吧!