程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
go 相关技术文章(第5页)
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
BOM 的消费端:shell 报 Exec format error、Go 报 illegal byte order mark、JSON 解析停在第 0 位
案例
BOM 的消费端:shell 报 Exec format error、Go 报 illegal byte order mark、JSON 解析停在第 0 位
2026-10-22 00:03:42
同一个 EF BB BF,在导出侧是 Excel 认 UTF-8 CSV 的必需品,在消费侧却让内核 execve 返回 ENOEXEC、Go 编译器报 illegal byte order mark、JSON.parse 在第 0 位失败。整理字节层确认方法、shell/Go/Python/Node/Jackson/PHP 的行为对照表,以及 sed 去 BOM、CI 检查与 .gitattributes 不管 BOM 的边界。
BOM
UTF-8
字节序标记
Shell
Go
JSON
字符编码
支付宝要 7 个字符 success,微信要空响应体:支付异步通知的应答语义与重试时间表
编程
支付宝要 7 个字符 success,微信要空响应体:支付异步通知的应答语义与重试时间表
2026-10-22 00:03:29
同一套 JSON 响应封装发给支付宝和微信,三家全判失败:支付宝要响应体只有 success 七个字符,微信 APIv3 要 200/204 空报文,V2 要 XML return_code=SUCCESS。整理三家应答语义、25h/8 次与 24h4m 的重试节奏,以及 ACK 之前必须先落库的原因与 Go/PHP handler 骨架。
异步通知
支付回调
notify_url
接口对接
Go
PHP
幂等
Go 1.27.3 / 1.26.10:crypto/x509 拉黑中间证书后的升级与排查
编程
Go 1.27.3 / 1.26.10:crypto/x509 拉黑中间证书后的升级与排查
2026-10-21 21:04:37
Go 1.27.3 与 1.26.10 在 crypto/x509 里加入中间证书 denylist,Verify 会过滤整条链,对应 CVE-2026-111943。本文说明受影响区间、为什么只升系统 CA 包不够、Go 1.27 起 SystemCertPool 尊重 SSL_CERT_FILE 的变化,并给出验证代码与 toolchain 固定写法。
Go
安全升级
TLS
Go 1.27 的 Transport 自动排空未读响应体:getStatus 从 710ms 降到 150ms
代码
Go 1.27 的 Transport 自动排空未读响应体:getStatus 从 710ms 降到 150ms
2026-10-21 20:02:32
Go 1.27 让 net/http.Transport 在 Close 时异步排空未读的 HTTP/1 响应体(最多 50ms 或 256KB),只取状态码的 getStatus 从 710ms 降到 150ms。文章讲清未读 body 为何阻断连接复用、json.Decoder 少读一个换行的影响、手工排空从无界 io.Copy 到有界异步的演进,并附 Go 1.27.2 与 1.26.9 的 20 请求连接数实测矩阵、背靠背请求竞态与主动断连的三种写法。
Go
net
http
性能优化
HTTP
四家支付回调收敛到一个入口:/pay/notify/{channel} 的实现笔记
代码
四家支付回调收敛到一个入口:/pay/notify/{channel} 的实现笔记
2026-10-21 09:02:28
微信 v3、支付宝、Stripe、PayPal 的回调应答语义和验签材料完全不同,四份 handler 复制来复制去就会串:支付宝返回 JSON 就被判失败并重试 8 次,原始 body 被 JSON 中间件吃掉就验签不过。文章给出统一入口的分层、四家验签与应答对照表、channel+event_id 幂等表、Go 接口与关键代码,以及回调乱序与查单兜底。
支付接口
回调
Go
Stripe
微信支付
幂等键
PayPal webhook 验签失败与收不到回调:从四段待签串查到 443 投递
代码
PayPal webhook 验签失败与收不到回调:从四段待签串查到 443 投递
2026-10-21 09:01:17
PayPal 回调已经到账却验签不过,或者干脆收不到,通常是两件事:待签串 transmissionId|timeStamp|webhookId|crc32 里 webhook_id 取错、CRC32 写成十六进制、用了重新序列化的 body;以及 443 入站被拦。文章给出 Go 自校验实现、证书白名单与缓存、25 次/3 天重试下的幂等做法,以及 Order/Capture 双生命周期该在哪个状态发货。
PayPal
webhook
验签
支付接口
Go
staticcheck 抑制告警的三条路://lint:ignore 必填 reason,配置排除却不算「无用指令」
编程
staticcheck 抑制告警的三条路://lint:ignore 必填 reason,配置排除却不算「无用指令」
2026-10-21 00:03:42
Go 编译器几乎没有 warning 这一级,逻辑告警全靠 go vet 与 staticcheck。这篇拆 staticcheck 的三条抑制路径:staticcheck.conf 的 checks/inherit 合并、//lint:ignore 行级指令(reason 必填、只作用于下一行)、//lint:file-ignore,以及「没匹配到的指令会被当成问题报出来」「配置禁用的检查不算无用指令」这些反咬细节,最后给出从基线到只拦新增的清理顺序。
warnings
staticcheck
Go
代码质量
lint
lock
编译器替你 free:GOEXPERIMENT=runtimefreegc 的插入条件、16 字节阈值与收益边界
编程
编译器替你 free:GOEXPERIMENT=runtimefreegc 的插入条件、16 字节阈值与收益边界
2026-10-20 21:06:14
Go 的 runtimefreegc 实验让编译器在能证明对象已死的位置插入 runtime.free,减少 GC 扫描对象。本文讲它想省掉哪段工作、为什么阈值定在 16 字节、与 Go 1.25 栈分配 32 字节阈值方向相反的关系,以及哪些场景会纯亏,附 gotip 基准写法。
Go
GC
编译器
性能
代金券回调新增 appid/openid:多公众号共商户号时怎么路由、校验与限频
案例
代金券回调新增 appid/openid:多公众号共商户号时怎么路由、校验与限频
2026-10-20 21:05:24
微信支付 2026-10 更新:代金券消息通知地址可带 appid,核销回调才返回 openid,多公众号共用商户号时必须按 appid 做路由;会员卡模板一批字段必填改选填会让本地校验报错;商品券 display_info 与可用商品编码列表二选一;会员接口限频放宽到 100/秒。
支付对接
微信支付
接口变更
Go
Stripe 拒付处理:due_by=0 不是今天到期,证据只交一次就锁死
代码
Stripe 拒付处理:due_by=0 不是今天到期,证据只交一次就锁死
2026-10-20 09:01:57
接 Stripe 拒付最容易在三个地方写错:把 due_by=0 当成今天到期、把整份证据 hash 一次性提交、在争议开放期间还去调退款。这篇按 Dispute 状态机拆开讲,给 Go 的 webhook 幂等落库与到期扫描代码,并算清 received fee / countered fee / compliance 500 美元押金的退还口径。
Stripe
支付对接
拒付处理
webhook
Go
Go 1.28 的七个集合提案:Union 为什么要拆成两个函数,Get 和 At 又在争什么
编程
Go 1.28 的七个集合提案:Union 为什么要拆成两个函数,Get 和 At 又在争什么
2026-10-19 21:02:30
Go 集合工作组 Issue #80590 的七个提案:container/set、mapset、hash.Map/Set、tree.Map、heap/v2,以及 Go 1.27 已落地的 hash/maphash.Hasher。重点讲 Union/UnionWith 拆分、Get 与 At 的命名争议、DeleteFunc 必须进接口的复杂度原因。
Go
泛型
标准库
集合
用 go build -toolexec 拦下每次 compile:计时、改源码、往 importcfg 里塞包
代码
用 go build -toolexec 拦下每次 compile:计时、改源码、往 importcfg 里塞包
2026-10-18 21:01:44
go build -toolexec 会把包装程序插到 compile、link、asm、cgo 之前。文中给出最小计时器实现、importcfg 的目录与格式、追加 import 的两步做法,以及 Go 1.27 的 @file 响应文件、stdversion vet 检查等直接影响包装程序的变化。
Go
构建
工具链
gopls v0.24.0:交互式重构走 LSP 扩展,ptrtoerror 抓 E 与 *E 混用
代码
gopls v0.24.0:交互式重构走 LSP 扩展,ptrtoerror 抓 E 与 *E 混用
2026-10-18 21:01:37
gopls v0.24.0 支持 LSP 3.18 与交互式重构:struct tag、实现接口、移动声明都改成多步对话框。新增 ptrtoerror 分析器专抓 E 与 *E 都实现 error 导致的静默失败,另有 slicesclip、reflecttypeassert 等 modernizer 与 Go 1.28 的 string(x) 迁移。
Go
工具链
静态分析
Backup Center:Laravel + Go Agent 做多机网站备份,存储按 YYYYMMDD 归档
案例
Backup Center:Laravel + Go Agent 做多机网站备份,存储按 YYYYMMDD 归档
2026-10-18 20:02:23
一台 Center 加每机一个 Go Agent,把网站备份统一调度到 S3/SFTP/WebDAV。记录一键脚本的环境变量与 OpenVZ/LXC 兼容坑、Agent 的 systemd 接入、tag 触发的发布流程,以及 README 没交代的一致性、加密、去重三个待验证点。
自托管
备份
Laravel
Go
Docker
运维
20 字限制卡住一个 👨👩👧👦:emoji 的码点、字节与 grapheme cluster
编程
20 字限制卡住一个 👨👩👧👦:emoji 的码点、字节与 grapheme cluster
2026-10-18 00:04:23
表单「20 个字」限制被一个家庭 emoji 撑爆、按码点截断后渲染成方块,是编码层最常见的错位。这篇把 emoji 的 7 种编码形式(VS16、肤色修饰、ZWJ、区域指示符、tag、keycap)和三种长度口径拆开,给出 Go/PHP/JS 按 grapheme cluster 计数与截断的可执行写法,以及 utf8mb4 列宽、排序规则与终端宽度上的边界。
emoji
Unicode
字符编码
Go
PHP
前端工程
Excel 双击 UTF-8 CSV 全是「涓枃」:BOM 写在哪一步,写了为什么还是乱码
案例
Excel 双击 UTF-8 CSV 全是「涓枃」:BOM 写在哪一步,写了为什么还是乱码
2026-10-18 00:04:03
后端导出的 UTF-8 CSV 用 Excel 双击打开中文全是「涓枃」:Excel 按系统 ANSI 代码页解码,只认文件开头的 BOM。给出 PHP/Python/Node/Go 写 BOM 的正确位置,四种「写了 BOM 反而更乱」的真实原因与字节级验证方法,以及中文文件名走 filename*=UTF-8'' 的处理方式,最后说明何时该弃 CSV 改 xlsx。
乱码
CSV导出
字符集
UTF-8
BOM
Excel
PHP
Python
Go
重试不是越多越好:出站 HTTP 客户端的分类、full jitter 与每依赖预算
编程
重试不是越多越好:出站 HTTP 客户端的分类、full jitter 与每依赖预算
2026-10-17 21:31:29
调用第三方 API 出问题时,最常见的错误是就地加重试。本文给出一套出站 HTTP 客户端的重试策略:按状态码和幂等性分类、带抖动的指数退避、正确合并 Retry-After、为每个依赖设置重试预算与并发隔离,并附一份可直接用的 Go 实现。
接口对接
HTTP
Go
重试
稳定性
Go 1.27 泛型方法:能链式调用,但反射扫不到它
编程
Go 1.27 泛型方法:能链式调用,但反射扫不到它
2026-10-17 21:04:39
Go 1.27 泛型方法的两条边界:接口方法不能声明类型参数、泛型方法也实现不了接口;以及由此带来的反射盲区——NumMethod 里看不到泛型方法,序列化/ORM/RPC 框架会漏 API。附链式调用与官方原因解释。
Go
泛型
反射
语言特性
Go 1.27 的 encoding/json 换内核:升级后默认行为变了,any 解析反而更慢
编程
Go 1.27 的 encoding/json 换内核:升级后默认行为变了,any 解析反而更慢
2026-10-17 21:03:50
Go 1.27 的 encoding/json 变成 json/v2 的兼容层后,升级即生效的行为差异:非法 UTF-8 报错、字段名大小写敏感、nil slice 变 []、[]byte 变 base64、Duration 无默认格式;以及解到 any 反而慢 1.5 倍的原因和渐进迁移顺序。
Go
JSON
版本升级
性能
AWS Lambda 耐久执行 Go SDK:step/wait/callback 怎么写,以及重放逼你守的几条规则
编程
AWS Lambda 耐久执行 Go SDK:step/wait/callback 怎么写,以及重放逼你守的几条规则
2026-10-17 20:03:00
AWS Lambda 耐久执行 SDK for Go 的工程笔记:从建 module、构建 bootstrap、配 DurableConfig 跑通第一个耐久函数,到确定性、goroutine 所有权、ErrorType 匹配、Step 语义与重试、Wait 的整秒规则、Callback 的 RawSerdes、子上下文 256 KiB 上限、Retry 与 Map/Parallel。
Go
AWS
Lambda
Serverless
Durable
Execution
工作流
SDK
重试
sup:用一份 Supfile 把命令并行发到多台主机,无需 agent 的部署工具
编程
sup:用一份 Supfile 把命令并行发到多台主机,无需 agent 的部署工具
2026-10-16 21:31:15
pressly/sup(Stack Up)是一个用一份 YAML(Supfile)把命令并行发到多台主机的部署工具,复用系统 ssh,不用装 agent。本文讲清 networks/commands/targets 结构、serial 滚动更新、once 只在单机执行、upload/交互式 stdin、target 组合与失败即中断,以及 ssh-agent 连不上的排错。
Shell
部署
运维
SSH
Go
golang.org/x/net v0.60.0 修复 5 个 HTTP/2 问题:Trailer 内存放大、窗口变更 CPU 放大、flow control 重复退还与 HPACK 竞态
编程
golang.org/x/net v0.60.0 修复 5 个 HTTP/2 问题:Trailer 内存放大、窗口变更 CPU 放大、flow control 重复退还与 HPACK 竞态
2026-10-16 21:08:36
golang.org/x/net v0.60.0 修复 5 个 HTTP/2 问题:Trailer 头导致 server 内存耗尽(CVE-2026-78659)、反复变更 initial window 造成 CPU 放大(CVE-2026-78669)、flow control 重复退还(CVE-2026-78663)、HPACK encoder 竞态打崩 server(CVE-2026-97032)、畸形 framing 头致 response smuggling。含机制、修复与 Go issue 链接。
Go
HTTP
2
安全
net
http
Go 1.26.9 / 1.27.2 修复 15 个安全漏洞:HTTP/2 服务可被远程打崩,ReverseProxy 对 CONNECT 改返 405
资讯
Go 1.26.9 / 1.27.2 修复 15 个安全漏洞:HTTP/2 服务可被远程打崩,ReverseProxy 对 CONNECT 改返 405
2026-10-16 20:02:06
Go 1.26.9 与 1.27.2(2026-10-08)修复 15 个安全漏洞:HTTP/2 服务可被远程打崩或内存耗尽,HTTP/1 CONNECT 处理导致请求走私,ReverseProxy 现在对 CONNECT 返回 405,Range 头新增 200 段上限。本文列出各 CVE 的影响面与升级命令。
Go
安全
net
http
HTTP
2
运维
SemVer 2.0.0 优先级比较:alpha.10 排在 alpha.9 之前,以及五个实现坑
编程
SemVer 2.0.0 优先级比较:alpha.10 排在 alpha.9 之前,以及五个实现坑
2026-10-16 00:04:24
从 SemVer 2.0.0 规范的优先级比较算法切入,讲清 alpha.9 与 alpha.10 的排序、前导零非法、构建元数据不参与比较、0.x 下 ^ 退化,以及 Go 的 v 前缀与 golang.org/x/mod/semver 用法,附可运行的排序与校验示例。
语义化版本
SemVer
版本号
依赖管理
Go
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
8
…
25
下一页
共 25 页
到第
页
确定