Go问答技术文章
-
Go mime.ExtensionsByType 做 MIME 到扩展名的反向查询时,结果可能包含多个带点后缀。本文说明如何把它当作候选集合,并用业务格式、用户偏好或稳定排序选择默认后缀,同时明确它不负责检测文件内容。400 收藏 -
Golang · Go问答 | 1小时前 | go · https · net/http · GetCertificate TLS配置 Go ServeTLS TLSConfig.Certificates GetConfigForClient 内存证书
Go http.Server.ServeTLS 的证书文件参数可以为空,但前提是 TLSConfig 已通过 Certificates、GetCertificate 或 GetConfigForClient 提供证书。本文用最小代码和参数表说明内存证书配置、动态选证书与启动排查边界。168 收藏 -
Golang · Go问答 | 1小时前 | 标准库 · 错误处理 · Go问答 · Go Content-Type mime.ParseMediaType ErrInvalidMediaParameter
Go mime.ParseMediaType 遇到可选参数格式错误时,可能返回已经识别出的媒体类型和 ErrInvalidMediaParameter,但参数映射不可继续当成完整结果使用。本文用返回组合、错误判断和降级策略说明怎样处理这一边界。374 收藏 -
Go HTTP 服务可以通过 Server.ConnContext 为新连接创建带元数据的上下文,后续请求从 r.Context() 继承读取。本文用连接追踪标识演示配置方式,并比较 BaseContext、ConnContext 与请求级 WithContext 的边界,说明 HTTP/2 并发和资源清理时的注意事项。313 收藏 -
Go 的 http.Server.ErrorLog 专门接收连接接收失败、Handler 异常行为和底层文件系统错误。本文按工作流说明如何创建自定义 log.Logger、注入 Server、理解 nil 默认行为,并区分它与业务访问日志。151 收藏 -
Go handler 的取消分支不必依赖真实网络超时。本文用 httptest.NewRequestWithContext 构造已取消和带截止时间的请求,区分 context.Canceled 与 context.DeadlineExceeded,并说明 ResponseRecorder、取消时机和断言边界。230 收藏 -
testing/quick.Check 的随机失败要靠可复用的随机源来复现。本文说明如何记录 CheckError.In、Count 和 seed,并保持 Config、Generator 与迭代上限不变,稳定重跑同一组输入。352 收藏 -
Go testing/quick.Value 默认生成结构体时遇到未导出字段会受反射写入边界影响,本文说明 Generator、Config.Values 与构造函数的选择方法。236 收藏 -
Go go/build.MatchFile 判断的不是孤立文件名,而是文件扩展名、GOOS/GOARCH 后缀、文件头构建约束与 Context 配置的组合。本文用跨平台源码扫描场景拆开这些条件,并给出可复用的调用方式。261 收藏 -
Go ast.FilterFile 不只是按名称裁剪顶层声明,它还会无条件移除导入声明。本文用一份带导入、类型和函数的 AST 拆开过滤边界,说明返回值、字段过滤和保留原始导入的处理选择。417 收藏 -
Go go/doc.ToText 可以把文档注释写成适合终端阅读的纯文本。本文拆开 prefix、codePrefix、width 的作用,说明链接识别限制,并给出迁移到 Package.Text 与 comment.Printer.Text 的选择方法。250 收藏 -
Go 自动生成文档时,可以用 go/doc.Filter 把文档树裁剪成公开 API 视图。本文从 Package.Filter 的实际行为出发,说明名称过滤器、类型成员边界、包注释清空和复制文档对象时的取舍。178 收藏 -
面向以 -cover 构建的长期运行程序,说明 Go runtime/coverage.WriteCountersDir 生成的计数快照如何与匹配的元数据配合,并用 go tool covdata 做汇总分析。341 收藏 -
Go sync.RWMutex.TryLock 会尝试获得写锁并立即返回结果。本文用缓存刷新场景说明它与 Lock 的阻塞差异、成功后的 Unlock 责任,以及何时可以跳过一次写入、何时必须排队完成。360 收藏 -
面向以 -cover 构建的长期运行程序,说明 Go runtime/coverage.WriteMetaDir 如何写出覆盖率元数据、如何准备目录,以及它与计数快照的边界。180 收藏