我是一名热爱go的大学生(gopher),目前已经go已经用了很久了,也在公司负责后端项目的开发,但是到现在为止感觉技术差不多是有了,但是遇到了一些问题很困扰,一直不知道怎么弄才能搞好,就是go的工程化这一块,整个项目怎么划分目录,怎么划分各个业务模块,因为go不可以循环引用,模块没有划分好很容易就会循环引用,前一段时间写代码直接 api model service一套,sql语录直接写在service里,业务复杂了确实不太好,后来看到别人还有dao层,现在也在尝试新的布局,但是不知道布局应该用扁平化布局(一个service目录下放多个文件,存放所有service,model层同理)还是应该用那种一个功能模块一个文件夹各个文件夹(业务功能)都有自己的dao model api和service,这样貌似会啰嗦点,但是应该会更好?最近公司在添加新功能,但是自己不确定要怎么把这一块规范好,一直迟迟不搞下手,希望大佬们能够指点一二,顺便请教一下dao层只放mysql的一些操作还是包括redis的操作也一起放进去?还是redis专门弄个cache 这一块一直很迷惑,如果大佬们有,或者看到过,github go工程化,模块划分布局的demo啥的可以提供一下在下感激不尽。