V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
qing358
V2EX  ›  程序员

一个很值得学习的 golang web 项目

  •  
  •   qing358 · 2020-07-03 15:25:50 +08:00 · 5192 次点击
    这是一个创建于 1637 天前的主题,其中的信息可能已经有所发展或是发生改变。

    推荐: https://github.com/golang-work/admin 很多特性在真实项目中都可以直接使用

    30 条回复    2020-07-06 09:42:39 +08:00
    to2false
        1
    to2false  
       2020-07-03 15:38:00 +08:00   ❤️ 5
    老铁,推广就推广,没必要这么取标题,
    看标题还以为啥亮眼项目呢,告辞
    wysnylc
        2
    wysnylc  
       2020-07-03 15:44:32 +08:00
    可以用 == 勉强能用出问题没人管
    xkeyideal
        3
    xkeyideal  
       2020-07-03 15:46:11 +08:00   ❤️ 7
    代码组织与风格不敢恭维,不建议读者学习,而且会带坏初学者
    juzzle
        4
    juzzle  
       2020-07-03 15:53:47 +08:00
    fenglangjuxu
        5
    fenglangjuxu  
       2020-07-03 15:56:53 +08:00
    操作 db 的时候 error 不能不管
    qq1340691923
        6
    qq1340691923  
       2020-07-03 16:42:44 +08:00
    就问你尴尬不
    magiclz233
        7
    magiclz233  
       2020-07-03 17:05:13 +08:00
    @xkeyideal 老哥有啥推荐的 golang 项目吗 最近刚把基础看完
    moliliang
        8
    moliliang  
       2020-07-03 17:14:12 +08:00
    icy37785
        9
    icy37785  
       2020-07-03 17:18:33 +08:00 via iPhone   ❤️ 1
    本来开源自己的项目是挺好的事情的,怎么就这么害羞不好意思明说呢,然后整这么标题。。。
    wangking
        10
    wangking  
       2020-07-03 17:24:16 +08:00   ❤️ 1
    推荐的开源 golang 项目 ? b 站源码还不够看吗 ?
    evill
        11
    evill  
       2020-07-03 17:27:54 +08:00
    useben
        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)

    喧哗取众...
    Vegetable
        13
    Vegetable  
       2020-07-03 18:38:24 +08:00   ❤️ 1
    请不要将二进制执行文件打包到代码仓库中,哪个小伙伴在真是项目中这么做,我会打死他
    https://github.com/golang-work/admin/tree/master/cmd
    Vegetable
        14
    Vegetable  
       2020-07-03 18:39:30 +08:00   ❤️ 6
    我悟了!这才是最真实的项目!工作中的项目,就是这么丑陋,楼主在第五层。
    asAnotherJack
        15
    asAnotherJack  
       2020-07-03 18:59:09 +08:00
    我就想问一下 gin 的 middleware 中 c.Next()的必要性,看源码我认为不用调一样会执行下一个的,只有你需要在后边剩余处理函数前后做点事情,比如计算一下剩余处理函数的耗时,这时候 c.Next()才有必要主动调用。

    但是各种教程全都是在方法最后主动调了一下 c.Next()

    蹲一个大佬指点迷津
    lscexpress
        16
    lscexpress  
       2020-07-03 19:13:36 +08:00
    如果 github 有 dislike 我会点一个
    yzk66880
        17
    yzk66880  
       2020-07-03 20:22:55 +08:00
    何必呢。。。
    loading
        18
    loading  
       2020-07-03 20:37:16 +08:00 via Android
    额,既然都被楼上的鉴定过了,希望 repo 主把 readme 改一下:
    不建议学习!
    40EaE5uJO3Xt1VVa
        19
    40EaE5uJO3Xt1VVa  
       2020-07-03 21:55:09 +08:00
    借楼问一下,新手学 golang 有什么推荐不,打算把手上的项目用 go 重构一遍
    JB18CM
        20
    JB18CM  
       2020-07-03 22:29:28 +08:00
    当反面教材还是值得学习的
    danhahaha
        21
    danhahaha  
       2020-07-03 23:22:18 +08:00
    王婆近况如何?
    lostpg
        22
    lostpg  
       2020-07-04 00:09:11 +08:00
    /Users/qing/Documents/work/golang/apps/admin

    编译的时候记得 trimpath 噢
    yukiloh
        23
    yukiloh  
       2020-07-04 00:28:27 +08:00
    看了评论笑死...
    visitant
        24
    visitant  
       2020-07-04 00:53:33 +08:00
    @asAnotherJack 去看下设计模式吧小伙子,责任链模式
    lichao
        25
    lichao  
       2020-07-04 10:07:36 +08:00
    前端 HTML 完全没有 Application Layout 的概念,重复 COPY 、PASTE 的代码太多,不 OK
    xjqxz2
        26
    xjqxz2  
       2020-07-04 12:28:35 +08:00
    Request 绑定失败你直接就 panic ? ...... 有点坑
    Carlgao
        27
    Carlgao  
       2020-07-04 14:47:36 +08:00
    花了十几分钟完整的看了下,客观的说如果在真实的项目中这么写可能会被打死,有些小技巧用的还不错,只能看看不能当做学习。
    airplayxcom
        28
    airplayxcom  
       2020-07-04 19:45:58 +08:00
    看来是个新手项目
    Fitz
        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)
    }
    xkeyideal
        30
    xkeyideal  
       2020-07-06 09:42:39 +08:00
    @magiclz233 nsq, etcd 都可以啃
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5355 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 07:19 · PVG 15:19 · LAX 23:19 · JFK 02:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.