golang
已收录文章:14427篇
-
开篇 在 Golang 的标准库 container 中,包含了几种常见的数据结构的实现,其实是非常好的学习材料,我们可以从中回顾一下经典的数据结构,看看 Golang 的官方团队是如何思考的。 container/list 双214 收藏
-
Atlasschemadiff是目前Go项目做数据库Schema对比最稳省事的选择,它能声明式比对当前库与目标定义并输出可审阅SQL,而GORM/Ent的AutoMigrate仅同步状态、不生成差异脚本、无历史记录。213 收藏
-
匿名结构体是无需预先定义的临时结构体,直接通过struct{}定义字段并创建实例,适用于局部数据组织、API响应解析等一次性场景,提升代码简洁性与可读性。213 收藏
-
GoRPC错误处理需区分调用失败与业务失败,前者通过返回error实现,后者应在Reply结构中嵌入错误字段如Errorstring或自定义AppError类型传递详细信息,同时避免panic并用defer+recover统一捕获异常,确保服务健壮性。213 收藏
-
gomodgraph命令可输出Go项目依赖关系,每行以“→”表示模块间的有向依赖,如moduleA→moduleB表示A依赖B,结合sort、grep或Graphviz可排序、过滤或可视化依赖树,适用于排查版本冲突、清理冗余依赖、审计第三方库及理解项目结构。213 收藏
-
Go语言禁止隐式类型转换,基本类型间需显式声明,如int32(100);浮点数转整数会截断小数;指针类型不可直接转换,仅可通过unsafe.Pointer底层操作但不安全;接口转具体类型应使用安全断言val,ok:=iface.(T)避免panic;结构体即使字段相同也不能直接转换,须手动赋值或反射。这些限制增强程序安全性与可维护性。213 收藏