


























这是一个创建于 193 天前的主题,其中的信息可能已经有所发展或是发生改变。
请教各位大佬,如果每人一句关于 Go 工程(不局限于 Web 或者基架项目)开发的经验,会是什么?
4 wakarimasen 2025 年 12 月 3 日泛型出现之前你可能需要熟练掌握编辑器快捷键,同时生成所有整数类型的比大小函数。 |
5 wogogoing 2025 年 12 月 3 日 via iPhone尽可能不要忽略错误;组合机制很棒,好好利用起来。 |
7 chengrui0428 2025 年 12 月 3 日一个文件里,只使用一次 var 和 type 关键字 |
8 w568w 2025 年 12 月 3 日业务逻辑不要害怕造轮子,协议标准不要自己造轮子 开始开发前约定好规范,如「逻辑上可空的变量用 nil pointer 还是空值表示」「可选参数配置用 option pattern 还是 builder pattern 还是生成重载函数」 Be stupid ,不要耍聪明省代码行数而写出费解的代码。Go 很冗长并且它就该冗长,冗长比晦涩好 |
9 povsister 2025 年 12 月 3 日调用任何非标准库的函数前点进去看一眼实现,别盲目相信注释 |
10 iseki 2025 年 12 月 3 日可以积极借鉴其它语言的标准库设计,特别是那些有丰富标准库经验的。 |
11 5261 2025 年 12 月 3 日@wangritian 哎,Java 开发写 go 项目,写着写着就变成 Java 结构和思想了,现在 go 项目中都加入了自动注入的概念了 |
12 MIUIOS 2025 年 12 月 4 日@5261 说明你完全没理解编程原理,自动注入和依赖反转从来不是 java 和 spring 的专属,这是概念级别的东西,不是语言层面的,是实际业务中繁衍出来的。 |
15 nanwangnongfu 2025 年 12 月 4 日每个 goroutine 都 defer recover |
16 brookegas 2025 年 12 月 4 日开始用 Go 前,先清空 Java/Spring 的那一套便便思维💩 |
17 hamwong 2025 年 12 月 4 日有没有 web 后端最佳实践,自己写还是 java 思维 |
19 Desdemor 2025 年 12 月 4 日在对接接口需要加签验签频繁使用 json 序列化和反序列化的时候,浮点型尽量改为字符串。 |
21 cmos 2025 年 12 月 4 日golang 的核心是让一万个人都能写出一模一样的代码 |
22 asui 2025 年 12 月 4 日走? |
23 Hopetree 2025 年 12 月 4 日主用 Python 的运维,Go 写命令行工具贼爽,监控插件也很爽 |
24 bbao 2025 年 12 月 4 日不要过度设计,我们本没有多数据源设计,我们的一个大数据转后端的工程师,兼容了各大数据库,以及本可以渠道用户独立表+主表映射就可以,设计成了多库~~ 脑壳疼,那代码设计写的,一行都不想看。 |
28 baiic 2025 年 12 月 4 日写的业务多了,自然就会变成 java ,不要一味的贬低 java |
29 yifeng33 2025 年 12 月 4 日我要学 rust |
30 midsolo 2025 年 12 月 4 日@bbao 说起过度设计,那我得展示一下了。 多渠道的接入,建个 mapping 主表,然后每个渠道映射一张表就行了。 但我司只会 Java 的架构师嫌我们设计的过于简单,只能自己出手了,各种高层次抽像,各种设计模式,好好的把个 Go 写的项目设计成了 Java 味儿。 现在每个渠道建一个库,说是为了后续的扩展,提前做数据隔离,代码实现上写了 proxy 层、route 层、dispatch 层...... |
31 CoderGeek 2025 年 12 月 4 日规范好你的方法,区分好 “指针和引用” 我觉得很重要 |
32 bwangel 2025 年 12 月 4 日1. 多人团队中,别使用 go 启动 goroutine ,封装一个 Go 函数,在里面捕获 panic |
33 gaffeyQiu 2025 年 12 月 4 日提前做好分层设计, 避免做到一半发现循环依赖了 |
34 shinonome 2025 年 12 月 4 日到现在我都不知道 Ctx 用来传什么 |
35 Huelse 2025 年 12 月 4 日怎么简单怎么来,不要想着一个东西实现复杂需求 |
38 nextvay 2025 年 12 月 4 日别用面向对象的写法,new 一个 service ,然后初始化一坨。写 function 就好 |
39 nextvay 2025 年 12 月 4 日@shinonome 先加上。我们这原来是单租户,后来多租户,不同的数据库实例。没有这个 ctx ,需要先把传参都改造了,然后再改造多租户问题。 可以往 ctx 塞租户信息 |
42 karashoukpan 2025 年 12 月 4 日@bbao 我觉得任何时候过渡设计都会导致灾难发生,像 Knuth's optimization principle 一样 |
43 karashoukpan 2025 年 12 月 4 日@w568w 学到了,我想可以在加一条,如果用 int 表示系统里面的状态,最好不要从 1 开始(或许可以延伸下,不要使用单位零值作为标志位,例如 0 和 false ) 这在数据库字段更新的时候得单独更新,gorm 的 Update 函数 |
47 lance6716 2025 年 12 月 4 日 via Android记得打开 net/pprof |
48 Aprdec 2025 年 12 月 4 日goframe 这框架好吗?看了文档直接看懵了,太多层了吧 |
50 dog82 2025 年 12 月 5 日泛型用起来很爽,别人看起来想吐…… |
52 guanzhangzhang 2025 年 12 月 5 日即使写 web ,也要像非 web(cli ,网络,客户端)那样,处理每个 error ,千万不要偷懒 |
53 bzj 2025 年 12 月 5 日最好别用 go 写 web 项目,网上的教程基本就是这种,都是 php 或者 java 程序员出的课程,看多了思想容易被污染 |
56 gvison 2025 年 12 月 5 日可以试试 sponge ,这个项目把工程化做得比较极致。它主要是搞代码生成的(基于 SQL 或 Proto ),生成的代码直接遵循整洁架构。完全是 go 风格,它给出的是一套标准、模块化高、能直接落地的 Go Web/微服务 框架子。用来学习怎么组织大型 Go 项目,或者直接拿来一把梭开发都很合适。https://github.com/go-dev-frame/sponge |
57 longzhentian 2025 年 12 月 5 日@Aprdec 复杂感觉也还好,不过自动生成 service 和 dao 到算是方便的。我自己还是觉得 gin 好一些 |
58 supuwoerc 2025 年 12 月 5 日如果一点点复制或者硬编码就能解决问题,不要引入大量的抽象和封装。 |
60 xsen 2025 年 12 月 6 日没啥不能写的,前后(包括最近一年)用 golang 做的产品、中间件涉及不限于 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。