推荐: https://github.com/golang-work/admin 很多特性在真实项目中都可以直接使用
![]() | 1 to2false 2020-07-03 15:38:00 +08:00 ![]() 老铁,推广就推广,没必要这么取标题, 看标题还以为啥亮眼项目呢,告辞 |
![]() | 2 wysnylc 2020-07-03 15:44:32 +08:00 可以用 == 勉强能用出问题没人管 |
![]() | 3 xkeyideal 2020-07-03 15:46:11 +08:00 ![]() 代码组织与风格不敢恭维,不建议读者学习,而且会带坏初学者 |
![]() | 5 keepfun 2020-07-03 15:56:53 +08:00 操作 db 的时候 error 不能不管 |
6 qq1340691923 2020-07-03 16:42:44 +08:00 就问你尴尬不 |
![]() | 7 @xkeyideal 老哥有啥推荐的 golang 项目吗 最近刚把基础看完 |
9 icy37785 2020-07-03 17:18:33 +08:00 via iPhone ![]() 本来开源自己的项目是挺好的事情的,怎么就这么害羞不好意思明说呢,然后整这么标题。。。 |
![]() | 10 wangking 2020-07-03 17:24:16 +08:00 ![]() 推荐的开源 golang 项目 ? b 站源码还不够看吗 ? |
12 useben 2020-07-03 18:36:56 +08:00 token, _ := user.GenerateToken() Trans, _ = Uni.GetTranslator(local) file, _ := os.OpenFile(filePath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0755) 喧哗取众... |
![]() | 13 Vegetable 2020-07-03 18:38:24 +08:00 ![]() 请不要将二进制执行文件打包到代码仓库中,哪个小伙伴在真是项目中这么做,我会打死他 https://github.com/golang-work/admin/tree/master/cmd |
![]() | 14 Vegetable 2020-07-03 18:39:30 +08:00 ![]() 我悟了!这才是最真实的项目!工作中的项目,就是这么丑陋,楼主在第五层。 |
![]() | 15 asAnotherJack 2020-07-03 18:59:09 +08:00 我就想问一下 gin 的 middleware 中 c.Next()的必要性,看源码我认为不用调一样会执行下一个的,只有你需要在后边剩余处理函数前后做点事情,比如计算一下剩余处理函数的耗时,这时候 c.Next()才有必要主动调用。 但是各种教程全都是在方法最后主动调了一下 c.Next() 蹲一个大佬指点迷津 |
![]() | 16 lscexpress 2020-07-03 19:13:36 +08:00 如果 github 有 dislike 我会点一个 |
![]() | 17 yzk66880 2020-07-03 20:22:55 +08:00 何必呢。。。 |
![]() | 18 loading 2020-07-03 20:37:16 +08:00 via Android 额,既然都被楼上的鉴定过了,希望 repo 主把 readme 改一下: 不建议学习! |
19 40EaE5uJO3Xt1VVa 2020-07-03 21:55:09 +08:00 借楼问一下,新手学 golang 有什么推荐不,打算把手上的项目用 go 重构一遍 |
![]() | 20 JB18CM 2020-07-03 22:29:28 +08:00 当反面教材还是值得学习的 |
![]() | 21 danhahaha 2020-07-03 23:22:18 +08:00 王婆近况如何? |
22 lostpg 2020-07-04 00:09:11 +08:00 /Users/qing/Documents/work/golang/apps/admin 编译的时候记得 trimpath 噢 |
23 yukiloh 2020-07-04 00:28:27 +08:00 看了评论笑死... |
![]() | 24 visitant 2020-07-04 00:53:33 +08:00 @asAnotherJack 去看下设计模式吧小伙子,责任链模式 |
![]() | 25 lichao 2020-07-04 10:07:36 +08:00 前端 HTML 完全没有 Application Layout 的概念,重复 COPY 、PASTE 的代码太多,不 OK |
26 xjqxz2 2020-07-04 12:28:35 +08:00 Request 绑定失败你直接就 panic ? ...... 有点坑 |
![]() | 27 Carlgao 2020-07-04 14:47:36 +08:00 花了十几分钟完整的看了下,客观的说如果在真实的项目中这么写可能会被打死,有些小技巧用的还不错,只能看看不能当做学习。 |
![]() | 28 airplayxcom 2020-07-04 19:45:58 +08:00 看来是个新手项目 |
![]() | 29 Fitz 2020-07-05 00:27:55 +08:00 @asAnotherJack https://github.com/gin-gonic/gin/blob/master/context.go#L159-L168 调用 next 会直接开始执行下一个 handler, 理论上你如果不需要在中途改变执行顺序, 不在最后调用 next 也可以的. 当你需要后续操作执行完后再回到这个 middleware, 你就需要用 c.next. func latency(c *gin.Context) { time := time.Now() // before c.Next() // < the rest of handlers in the chain are executed here! // after now := time.Now() diff = now.Sub(time) fmt.Println(diff) } |
![]() | 30 xkeyideal 2020-07-06 09:42:39 +08:00 @magiclz233 nsq, etcd 都可以啃 |