学习 go 一段时间了, 自己写了一个项目玩玩, 大家帮忙掌掌眼

2020-05-10 18:16:56 +08:00
 liuky

没有项目经验, 也没有大佬带, 纯自己摸索着写的, 也不知道大厂是怎么写项目的, 大家帮忙过过眼, 看看有没有需要改正的, 可以互相学习哈. 贴一下 github 地址: https://github.com/mirckliu/kyblog

4298 次点击
所在节点    Go 编程语言
15 条回复
fanhaipeng0403
2020-05-10 19:57:08 +08:00
额。。
m0cha
2020-05-10 20:00:48 +08:00
建议把项目介绍补上
Hanggi
2020-05-10 20:24:36 +08:00
整个结构像 java,不是说不好,但这样完全发挥不出 go package 的优势。

个人感觉一个模块内的代码可以扁平点。如何?
qloog
2020-05-10 22:14:10 +08:00
qloog
2020-05-10 22:14:44 +08:00
可以参考下这个: https://github.com/1024casts/snake
多个企业里在用
silenzio
2020-05-11 08:45:19 +08:00
@qloog 可以详细介绍一下吗? 哪些内容放在 pkg 里, 哪些放在根目录里? 感谢
qloog
2020-05-11 08:53:10 +08:00
silenzio
2020-05-11 09:49:12 +08:00
@qloog 感谢
chinazz
2020-05-11 10:29:22 +08:00
@qloog 你这个是参考别的开源项目改的吗?之前见过类似的代码组织结构。
qloog
2020-05-11 10:35:10 +08:00
@chinazz 对,也参考了一些其他项目的组织结构,实际使用下来这些目录结构确实是比较常用的。
liuky
2020-05-11 12:18:55 +08:00
@m0cha 学习项目哈, 只简单写了一下简介
liuky
2020-05-11 12:19:57 +08:00
@qloog 先收藏回去瞧一瞧借鉴借鉴
jinzhongyuan
2020-05-13 14:55:25 +08:00
@Hanggi "完全发挥不出 go package 的优势" 指点一下,啥意思
Hanggi
2020-05-13 15:56:42 +08:00
也不算什么指点。
你可以看看一些比较热门的 go 开源项目,其中很多项目喜欢在一个目录里放一大堆 go 文件。

这是因为在 go 语言里,相同目录下一般是同一个 package,同一 package 下的不同文件之间,里面的各种函数、成员都是可以互相调用的,且不需要 import 。

既然可以互相调用,为什么要分那么多层文件夹呢?增加不必要的导入不是吗?
sunshinev
2020-05-14 14:44:41 +08:00
@Hanggi 其实同一个目录下的 go file,file 的名称主要是用来区分核心能力的。每个目录都是一个 Package,整体 Package 对外输出统一能力。然后整个项目就是无数个包组成的。

项目不错~ 加油加油

同时欢迎指点 我的项目. https://github.com/sunshinev/go-sword

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/670296

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX