大佬们平时开发 golang 过程中有没有什么最佳实践或者经验之谈 让小弟学习学习 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
silentsky
V2EX    Go 编程语言

大佬们平时开发 golang 过程中有没有什么最佳实践或者经验之谈 让小弟学习学习

  •  3
     
  •   silentsky 2024-02-07 09:45:16 +08:00 5527 次点击
    这是一个创建于 611 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言    2024-02-08 11:01:55 +08:00
    大家都说 golang 写业务代码异常处理嗦 直接 panic 不好吗 我看 gin 这种框架都给你自动做了 Recover 还支持统一在一个地方处理异常信息
    25 条回复    2024-06-19 16:28:06 +08:00
    lalalalla
        1
    lalalalla  
       2024-02-07 09:56:51 +08:00
    silentsky
        2
    silentsky  
    OP
       2024-02-07 10:05:21 +08:00
    你们平时使用依赖注入多吗 对象多的时候如何管理和传递
    ZackKing
        3
    ZackKing  
       2024-02-07 10:17:01 +08:00   2
    https://github.com/avelino/awesome-go 看常用库, 择高星使用
    https://go.dev/wiki/CodeReviewComments 官方 review 规范
    https://github.com/golang-standards/project-layout 比较多人推荐的标准目录结构
    ixiaohei
        4
    ixiaohei  
       2024-02-07 10:24:35 +08:00   2
    英语好不好,英语好去读这本书《 100 Go Mistakes and How to Avoid Them 》;英语不好就去找找翻译,或者使用翻译软件翻译读完。
    keakon
        5
    keakon  
       2024-02-07 10:49:26 +08:00 via Android   1
    先看官方库源码,有很多文章会去解析,可以省很多力。
    然后就去看自己常用的开源库的源码。
    有需求就根据自己的需要去修改开源库。
    每天花两小时,不出一个月,你就可以在简历中写精通 Go 了。
    okayan
        6
    okayan  
       2024-02-07 10:57:30 +08:00   4
    @silentsky 经验一:不要带着 Java 的那一套来写 Go
    su943515688
        7
    su943515688  
       2024-02-07 11:24:51 +08:00
    @ixiaohei 这个有中文版的了
    lilei2023
        8
    lilei2023  
       2024-02-07 11:44:55 +08:00
    有没有啥实际业务中,目前在学习写 crud , 哎!各种 struct 写的脑袋疼!
    lightjiao
        9
    lightjiao  
       2024-02-07 11:47:28 +08:00
    不要用 golang 强行写 OOP
    mightybruce
        10
    mightybruce  
       2024-02-07 12:08:38 +08:00
    @silentsky 依赖注入不多, 如果你在一些公司被要求使用公司的脚手架以及一些定制的框架的话,会见到。
    用 go 写业务开发的话是可以看到一些, 主要还是团队技术领导好控制下面的开发小弟,完形填空写代码
    ZackKing
        11
    ZackKing  
       2024-02-07 12:15:00 +08:00
    qloog
        12
    qloog  
       2024-02-07 15:36:10 +08:00
    singleflight 和 errgroup 的使用
    godsoul
        13
    godsoul  
       2024-02-07 16:30:16 +08:00
    跟写 php 一样写 go 就行了,不要用写 java 的方式来写 go
    silentsky
        14
    silentsky  
    OP
       2024-02-07 17:00:03 +08:00   1
    @okayan
    @godsoul
    我不太理解你们说的 java 那一套是哪一套 如果是指设计模式的话 那跟语言无关
    kiripeng
        15
    kiripeng  
       2024-02-07 17:04:51 +08:00
    依赖注入可以解决庞大的参数注入问题,必用了
    nickxudotme
        16
    nickxudotme  
       2024-02-07 18:44:05 +08:00
    @ZackKing #11 这个不完整的,后面还有很多
    kneo
        17
    kneo  
       2024-02-07 18:51:36 +08:00 via Android
    自己找开源项目去看。懒是学不到东西的。
    securityCoding
        18
    securityCoding  
       2024-02-07 19:15:24 +08:00 via Android
    升级到 1.22
    nanmu42
        19
    nanmu42  
       2024-02-08 08:43:00 +08:00 via iPhone   2
    Golang 第二语言指南: 学习路径、最佳实践以及工程化
    https://nanmu.me/zh-cn/posts/2021/way-to-go/

    希望能帮到你。
    EchoUtopia
        20
    EchoUtopia  
       2024-02-08 09:00:21 +08:00   1
    以前做 web 开发总结的一种简单的代码架构: https://github.com/EchoUtopia/blog/blob/master/project_layout_design.md
    qloog
        21
    qloog  
       2024-02-08 09:46:06 +08:00
    开源框架: https://github.com/go-eagle/eagle
    微服务: https://github.com/go-microservice
    或者任意你喜欢的框架之一,整个完整的项目出来
    zhufuyi
        22
    zhufuyi  
       2024-02-08 17:07:55 +08:00
    根据实际项目经验总结开源的基础开发框架,界面化的自动生成代码,有丰富工程实践,用来开发完整的 go 项目非常简单。

    github 仓库: https://github.com/zhufuyi/sponge
    丰富的使用示例: https://github.com/zhufuyi/sponge_examples
    开发文档: https://go-sponge.com/

    希望能帮到你。
    EchoGroot
        23
    EchoGroot  
       2024-03-08 18:24:25 +08:00
    我工作中总结的最佳实践,希望能帮到你
    https://github.com/EchoGroot/kratos-examples
    xiaozirun
        24
    xiaozirun  
       2024-03-14 18:57:11 +08:00
    @ixiaohei 有中文版 https://read.douban.com/ebook/455919353/ 或者下载英文电子书文件,导入到微信读书里翻译
    windcode
        25
    windcode  
       2024-06-19 16:28:06 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2828 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:07 PVG 22:07 LAX 07:07 JFK 10:07
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86