求教,如何去学习go的框架,从而自己能写一个小型的框架为自己的项目。

oscarzhou · 2018-01-09 05:24:13 · 1943 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-01-09 05:24:13 的主题,其中的信息可能已经有所发展或是发生改变。

已经学习go有2个月了,想学习如何能自己写一个小的框架,适合自己的web程序。每次一准备开始写,看着编辑器,就无从下手。感觉特别乱。

求大神们指教一下,如何去学习。


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

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

1943 次点击  
加入收藏 微博
13 回复  |  直到 2018-01-18 04:46:46
xiaoheigou
xiaoheigou · #1 · 7年之前

你需要系统的学习go net包,参考别人框架,如果你想动手写框架,希望你能加入新手群,新手村需要你的帮忙https://github.com/xiaoheigou/GoOOTNV/ 群号在readme

oscarzhou
oscarzhou · #2 · 7年之前
xiaoheigouxiaoheigou #1 回复

你需要系统的学习go net包,参考别人框架,如果你想动手写框架,希望你能加入新手群,新手村需要你的帮忙https://github.com/xiaoheigou/GoOOTNV/ 群号在readme

你好,谢谢提供信息,前几天忙着工作,没有上这个网站, 现在加群。

biluohc
biluohc · #3 · 7年之前

最简单的,包装标准库的请求与响应, 自己实现个路由与中间件的抽象即可。

biluohc
biluohc · #4 · 7年之前

作死一流,从tcp开始,..etc。

emmmmm

oscarzhou
oscarzhou · #5 · 7年之前
biluohcbiluohc #4 回复

作死一流,从tcp开始,..etc。 emmmmm

哈哈哈哈,貌似确实是作死的节奏~~ 我想基于现在封装好的一些框架,比如用go.gin,我就不用封装http那些了,但是我在想怎么设计route和db。是不是通常一个都是创建一个struct,然后维持一个全局的变量呢?

momaek
momaek · #6 · 7年之前

我觉得可以像 Martini 一样通过依赖注入的方式。 route 的话可以参考 httprouter,把这个两个揉一下应该就可以出来一个可用性很高的框架。 db 的话我觉得不需要在Web框架里面考虑,db 有其他的db框架可以用 比如: gorm

oscarzhou
oscarzhou · #7 · 7年之前
momaekmomaek #6 回复

我觉得可以像 Martini 一样通过依赖注入的方式。 route 的话可以参考 httprouter,把这个两个揉一下应该就可以出来一个可用性很高的框架。 db 的话我觉得不需要在Web框架里面考虑,db 有其他的db框架可以用 比如: gorm

谢谢哇,你说的这几个东西我去看看,只用过gorm

biluohc
biluohc · #8 · 7年之前

@oscarzhou 这看你的喜好啊。db的封装我没干过,而且一般的微框架都不提供db的,让用户自己组合。

oscarzhou
oscarzhou · #9 · 7年之前
biluohcbiluohc #8 回复

@oscarzhou 这看你的喜好啊。db的封装我没干过,而且一般的微框架都不提供db的,让用户自己组合。

对对,我对这个组合感觉很懵~ 有什么模式可寻吗

momaek
momaek · #10 · 7年之前
oscarzhouoscarzhou #7 回复

#6楼 @momaek 谢谢哇,你说的这几个东西我去看看,只用过gorm

如果不嫌弃可以看下这个 https://github.com/momaek/mdzz

victorl
victorl · #11 · 7年之前
  1. 先熟悉相关领域的知识。例如HTTP web框架,你得先熟悉HTTP server 和 HTTP client相关知识。
  2. 看一下优秀的开源框架。如GO的gin或者echo web框架,当然你也需要先看一下net/http的源码,主要学习的是其框架设计的思想。
oscarzhou
oscarzhou · #12 · 7年之前
victorlvictorl #11 回复

1. 先熟悉相关领域的知识。例如HTTP web框架,你得先熟悉HTTP server 和 HTTP client相关知识。 2. 看一下优秀的开源框架。如GO的gin或者echo web框架,当然你也需要先看一下net/http的源码,主要学习的是其框架设计的思想。

说的很详细,感谢

oscarzhou
oscarzhou · #13 · 7年之前
momaekmomaek #10 回复

#7楼 @oscarzhou 如果不嫌弃可以看下这个 https://github.com/momaek/mdzz

哈哈,不嫌弃不嫌弃,谢谢呀大神~

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