Go语言技术文章
-
通过显式存在性判断处理Go fmt.Appendf可选字段,保留空串、零值和false,管理分隔符及返回切片,并说明文本格式与JSON编码的区别。303 收藏 -
把 IndexedDB 的对象仓库和索引变化绑定到递增版本号,在 onupgradeneeded 中按旧版本分段执行;遇到 keyPath 变化时先搬运数据再重建仓库,并处理旧页面连接造成的 blocked。303 收藏 -
Go 默认把接口中的 JSON 数字解码为 float64,超过安全精度时可能改变原始值。本文用 Decoder.UseNumber 保留 json.Number 文本,先用 json.Valid 和格式判断选择 Int64 或 Float64,再处理小数、越界和浮点误差。302 收藏 -
用 io.LimitReader 约束读取配额,以 io.CopyBuffer 和独占缓冲减少整段临时存储,说明专用复制接口、超限判定与并发复用的边界。302 收藏 -
Go mod 中的 replace 相对路径依赖主模块目录和完整工作区,CI 中常因替换目录未检出、嵌套模块选错或目标缺少 go.mod 而失效。本文给出定位命令、仓库布局修复方式与切换模块版本的判断标准。301 收藏 -
本文用一个小型 Go 示例说明 weak.Make、weak.Pointer.Value、nil 输入和 runtime.KeepAlive 的关系,帮助你判断弱引用适合缓存还是不适合承担生命周期保证。301 收藏 -
用最小示例拆开 Go os.Root 的根目录与相对名称,解释绝对路径、空路径、.. 越界和符号链接为什么会失败,并给出保留 PathError 的修复写法。301 收藏 -
文章 · java教程 | 2天前 | 资源管理 · Java教程 · java arena scope MemorySegment FFM Foreign Function and Memory 本地内存
Java FFM 的 Arena 决定本地内存何时释放,MemorySegment 表示访问对象,Scope 记录生命周期状态。本文按线程模型和释放时机比较四种 Arena,并用 confined、shared 与 try-with-resources 说明 close 后为什么旧 segment 会失效。300 收藏 -
MySQL 底层列改为 INVISIBLE 后,旧视图仍可保留原列引用。通过独立 SQL 示例区分基表属性与视图接口,说明元数据排查、显式列名迁移和回退方式。300 收藏 -
Go 读取 tar 归档时,tr.Read 返回 EOF 只表示当前条目读完,tr.Next 返回 io.EOF 才表示整个归档正常结束。本文给出带错误分支的读取循环,并说明损坏输入、未消费数据和 ErrInsecurePath 的处理边界。299 收藏 -
Go iter.Pull 把 push-style 迭代器转换成 next 和 stop 两个函数。只要调用方可能在读完前返回,就应在取得 stop 后立即 defer stop(),让命中条件、自然结束和异常路径都能正确收尾。299 收藏 -
Go net/http.Server.MaxHeaderBytes 用来限制服务器解析请求头时读取的字节数,包含请求行但不限制请求体。本文说明零值默认值、显式配置、ReadHeaderTimeout 与 MaxBytesReader 的边界。299 收藏 -
本文说明如何用 Go httptrace.TLSHandshakeDone 记录 TLS 握手成功或失败,区分连接复用、握手状态与 HTTP 请求结果,并处理回调并发和敏感日志边界。298 收藏 -
Golang · Go教程 | 6天前 | 标准库 · https · TLS · Go教程 · tls Go 证书 crypto/x509 Certificate VerifyHostname 主机名校验
Go 的 Certificate.VerifyHostname 专门判断证书是否匹配给定主机名:DNS 名称看 DNSNames,IP 看 IPAddresses,通配符只能作为完整左侧标签,旧 Common Name 不再参与判断。本文说明它和证书链验证的边界,并给出可复用的错误处理写法。298 收藏 -
Go 的 time.Duration 底层是纳秒数,但配置通常需要 500ms、2s 这样的可读文本。本文区分 String 与 ParseDuration 的职责,并用一个轻量 DurationText 适配文本配置、错误处理和 JSON 字符串字段。298 收藏