Go的web开发项目结构

2,371 阅读1分钟

前言

一直做Java的后端Web开发,最近接触到Go,之后,按照自己的惯性思维,就想看看Go怎么做Web开发,那么问题就来了,用什么框架,怎么组织整个项目的结构

框架

框架是确定了Iris,因为看到网友比对了下Go的6大Web框架,感觉Iris最强劲,毕竟是个人练手,所以,就先上Iris了

项目结构

之后一直沿用Java的Web后台项目结构,建立一个src文件件,然后构建类似于Java的package那种目录层级结构,但是问题百出,后来幡然悔悟,继续Google,终于找到了一个自己感觉很合适的项目结构,下面介绍如下

terrorsaur(项目名字:取自于《超能勇士》的鸵鸟勇士的英文名字)
    -common(放置一些工具类,共用的东西)
    -config(配置,数据库、服务端口号等等各种配置类信息)
    -middleware(中间件,类似于java的Filter过滤器,例如你想对每个请求都加特殊的日志记录,或者你想拦截某些请求搞点事情)
    -model(和数据库映射的对象,类似于Java当中的Dto,一般都是struct,字段和数据库一一对应)
    -result(结果对象,用户需要需要的数据一般都是各种信息的组合,直接使用数据库的表字段信息可能不能应付,所以从Dto倒一手)
    -rest(RESTFul接口,可以认为是Java的controller)
    -route(路由文件夹,定义各种路由信息)
    -main.go(启动的go文件)

总结

可以根据自己项目的需求,增删文件夹,这个只是我练手的项目