Go语言技术文章
-
讲清 Go strings.CutPrefix 的 after 与 found 返回值,处理可选协议前缀、空前缀、重复前缀和大小写边界,并给出旧版 Go 的兼容写法。366 收藏 -
Linux 的 ss 把监听套接字和已建立连接视为不同状态。本文解释 -l、-a、state listening 与 state established 的区别,并给出按端口、地址和进程核对连接的命令。244 收藏 -
Python 的 typing.Protocol 主要服务静态结构化类型检查;即使加上 @runtime_checkable,isinstance() 也只适合确认属性是否存在,不会验证方法签名、参数类型、返回类型和业务行为。本文用代码拆开两种检查的边界,并给出运行时补强方案。254 收藏 -
解释 go test 输出 (cached) 的原因,区分测试二进制、命令参数、环境变量和文件输入,并给出 -count=1、GODEBUG=gocachetest=1 与 go clean -testcache 的排查用法。200 收藏 -
解释 Java Pattern.DOTALL 为什么让点号匹配换行,区分 DOTALL、MULTILINE 与 UNIX_LINES 的作用,并用 Java 示例说明如何限定跨行匹配范围、避免贪婪量词吞掉后续内容。199 收藏 -
对比 Go strings.CutPrefix 与 strings.TrimPrefix 的返回值和适用场景,说明何时需要 found 判断、何时只需得到去掉前缀后的字符串,并补充空前缀、大小写和旧版本兼容边界。447 收藏 -
Go 模糊测试的时间上限由 go test 的 -fuzztime 控制,既可以按 30s 这样的持续时间设置,也可以按 1000x 这样的迭代次数设置。本文同时区分 -timeout、-fuzzminimizetime 和 -parallel,帮助你把 testing.F 接入本地开发与 CI。345 收藏 -
PHP curl_multi_exec 负责推进多个 cURL 句柄的网络状态。本文用完整示例说明如何加入请求、等待 I/O、读取完成消息、区分传输错误与 HTTP 状态,并安全回收句柄。371 收藏 -
围绕 PHP 8.5.7 的补丁升级,整理 CLI 与 FPM 基线、内置和 PECL 扩展盘点、Composer 平台检查、真实调用链回归、灰度放行与回滚条件。256 收藏 -
不要只看文生图平台的展示图。本文用LiblibAI演示五项可复用测试:提示理解、构图控制、人物细节、风格一致性和迭代效率,帮助创作者按真实任务选工具。119 收藏 -
从最终输出类型、读取需求、Grow 的字节语义和 Bytes 的别名边界出发,说明 strings.Builder 与 bytes.Buffer 在 Go 中如何选择。494 收藏 -
扩散模型固定 seed 仍有细节差异,通常不是 seed 失效,而是 Generator 状态、scheduler、精度、CUDA 后端和硬件不同。本文给出一套可复现排查清单。457 收藏 -
Go testing.F 找不到失败语料时,先看 testdata/fuzz/FuzzName,再区分只读包回退到 GOCACHE/fuzz 的情况,并用 FuzzName/hash 精确重跑。136 收藏 -
strings.Builder 的 Grow 只预留后续字节容量,String 后继续写入通常不是禁用操作;真正需要警惕的是复制非零 Builder、误把容量当长度,以及负数参数触发 panic。398 收藏 -
解释 Go 原生 fuzz 测试中 testing.F 入口、testing.T 回调、f.Add 种子与失败语料的职责关系,并给出可运行的 go test 命令。138 收藏