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

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

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

    希望能帮到你。
    EchoGroot
        23
    EchoGroot  
       293 天前
    我工作中总结的最佳实践,希望能帮到你
    https://github.com/EchoGroot/kratos-examples
    xiaozirun
        24
    xiaozirun  
       287 天前
    @ixiaohei 有中文版 https://read.douban.com/ebook/455919353/ 或者下载英文电子书文件,导入到微信读书里翻译
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2770 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 15:16 · PVG 23:16 · LAX 07:16 · JFK 10:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.