Go教程技术文章
-
如下所示: ./src/github.com/sirupsen/logrus/terminal_check_notappengine.go:9:2: cannot find package "golang.org/x/crypto/ssh/terminal" in any of 已经在对应的路径里从githup上面下载了对应的包了 https://github.com/golang/crypto488 收藏 -
sqlx是Golang中的一个知名三方库,其为Go标准库database/sql提供了一组扩展支持。使用它可以方便的在数据行与Golang的结构体、映射和切片之间进行转换,从这个角度可以说它是一个ORM框架;它还封488 收藏 -
项目中遇到了可重入锁的需求和实现,具体记录下。 什么是可重入锁 我们平时说的分布式锁,一般指的是在不同服务器上的多个线程中,只有一个线程能抢到一个锁,从而执行一个任务。而我488 收藏 -
引言 基于net包的小应用 完整代码已经上传到github GitHub-TCP 欢迎star和issue TCP介绍 特点 面向连接的运输层协议。在应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据完毕后,必须释488 收藏 -
Go 使用 golang.org/x/text/encoding/simplifiedchinese 处理 GB18030 四字节字符,关键是用 GB18030 的 Decoder 与 Encoder 在 UTF-8 和旧编码字节之间转换,并区分解码替换字符与编码不可表示错误。487 收藏 -
Go 交叉编译时,纯 Go 项目可以通过 CGO_ENABLED=0 关闭 cgo,再用 GOOS 和 GOARCH 选择目标平台。本文从构建命令、go env 检查、cgo 构建约束和纯 Go 替代实现四个方面说明可执行做法与依赖边界。487 收藏 -
Go weak.Pointer 适合做不阻止对象回收的弱索引:业务代码保留强引用,索引只保存 weak.Pointer,读取时用 Value 判断对象是否仍可用,并在失效后删除旧条目。487 收藏 -
Go 1.23 起可用 slices.Chunk 返回 iter.Seq,按固定大小惰性遍历连续子切片。本文用完整示例说明末尾短块、空输入、非法大小、容量裁剪、元素修改与批处理错误定位。487 收藏 -
Go encoding/json/v2 默认拒绝 JSON 对象里的重复成员名。本文说明如何保持严格默认、避免误用 AllowDuplicateNames,并处理大小写匹配、SemanticError 与 v1 迁移回归。487 收藏 -
Go 的 errors.As 会沿着错误包装链查找匹配类型。本文用自定义错误说明 %w、目标变量和指针层级的正确写法,并给出迁移与回归检查清单。487 收藏 -
Go 1.22 起,http.ServeMux 支持在同一模式中注册 HTTP 方法、路径和通配符。本文用用户接口示例说明 PathValue、最具体匹配、冲突 panic、405 以及旧项目兼容边界。487 收藏 -
用 log/slog 的 HandlerOptions.AddSource 控制 source 字段,理解调用位置信息从哪里来、何时值得开启,以及如何在生产日志中验证它的代价。487 收藏 -
Go API 接收 JSON 时,如何用 Decoder.DisallowUnknownFields 拦截拼写错误和多余字段?本文从请求解码链路出发,给出可运行示例、错误响应策略与生产验收清单。487 收藏 -
以大批量订单导出为例,介绍 Go 如何通过分段文件、固定内存排序、k 路归并和断点清单,把一次性组装结果改造成可恢复的流式导出流程。487 收藏 -
govet和staticcheck是互补工具:前者是官方轻量级检查器,捕获语言层面常见错误;后者是社区增强型分析器,覆盖逻辑缺陷和风格问题。487 收藏