程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
go 相关技术文章(第4页)
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
编译器替你 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
Heron:agent 只读采集、hub 不下发命令的自托管主机监控
案例
Heron:agent 只读采集、hub 不下发命令的自托管主机监控
2026-10-15 20:02:43
Heron 是 Go 写的轻量自托管主机监控:hub 用一个静态二进制加 SQLite 文件存储、展示、告警,agent 只读采集上报。它的安全边界设计值得一读——agent 不照单执行 hub 指令,hub 能影响的只有上报节奏、探测任务、出口地址探测开关和验签后的更新任务。附安装命令与平台限制。
运维
监控
Go
自托管
开源项目
Go 1.27 标准库加入 uuid:NewV7 时间有序,别再拿 v4 做主键
编程
Go 1.27 标准库加入 uuid:NewV7 时间有序,别再拿 v4 做主键
2026-10-11 21:01:23
Go 1.27 把 uuid 包收进标准库(RFC 9562),无需再依赖 google/uuid。重点讲 NewV7:时间有序,插入 B-tree 索引时落在右侧,避免 v4 随机主键把索引写散、写入吞吐下降的问题,并附 API 对照与同版本其他变化。
Go
uuid
MySQL
数据库
标准库
ant
encoding/json
MPT
encoding/json/v2
ql
js
RSI
UTF-8
格式化
生态
pkg.go.dev
DI
New
类型
代码
Dev
ng
密码
主键
ODS
in
lm
tree
Duration
Go 1.27 goroutine 泄漏剖析:用 GC 可达性找出永久阻塞的 goroutine
编程
Go 1.27 goroutine 泄漏剖析:用 GC 可达性找出永久阻塞的 goroutine
2026-10-11 21:01:23
Go 1.27 把 goroutineleak 做成正式 pprof profile:借 GC 的可达性计算,找出永久阻塞在 channel 或 sync 原语上的 goroutine。本文给出 /debug/pprof/goroutineleak 的 curl + go tool pprof 用法、五步检测原理,以及它的局限:阻塞在仍可达原语上的泄漏检测不到。
Go
goroutine
pprof
性能
运行时
runtime/pprof
es
net/http
服务
ST
sync
Log
goroutine leak
PR
OTA
url
类型
Bug
Dev
in
func
IM
type
Profiler
把数据库 schema 当代码管:Atlas 的声明式与版本化迁移怎么选
编程
把数据库 schema 当代码管:Atlas 的声明式与版本化迁移怎么选
2026-10-11 00:03:47
数据库 schema 靠手写 ALTER TABLE 会漂移、删列没人拦。以 Atlas(ariga/atlas)为例拆解 Schema-as-Code 的两条工作流:声明式(schema apply 定义期望状态、破坏性变更被拒)与版本化(migrate diff/lint/apply 生成可审阅迁移文件),以及 atlas.sum 完整性、CI lint 能拦下的表锁与并发索引问题。<|end▁of▁thinking|>
Schema-as-Code
数据库迁移
Atlas
MySQL
Go
运维
Terra
ble
ql
计算
Base
OTA
声明式
版本
代码
团队
The
Management
ALTER
TABLE
用 Go 处理 ACH 文件:moov-io/ach 的 reader/writer/validator 与 HTTP 服务
代码
用 Go 处理 ACH 文件:moov-io/ach 的 reader/writer/validator 与 HTTP 服务
2026-10-10 21:31:29
moov-io/ach 用 Go 实现了 ACH(Nacha 标准)文件的 reader、writer 和 validator,另有 Docker 镜像和 HTTP API。本文给出 Docker 启动与 curl 读写示例、环境变量、支持的 SEC 代码、achcli 命令行,以及「不持久化、纯内存、无内存加密」这个必须自己兜底的设计取舍。
Go
ACH
Nacha
支付文件
开源工具
rome
Metrics
服务
CLEAR
test
文件
Read
error
Use
Auto
AR
url
内存
代码
METR
The
AD
事件
Go 1.27 的 simd 包:一份向量代码同时跑 AVX、NEON 和 wasm
编程
Go 1.27 的 simd 包:一份向量代码同时跑 AVX、NEON 和 wasm
2026-10-10 21:02:48
Go 1.27 引入平台无关的实验性 simd 包,用 GOEXPERIMENT=simd 就能写一份向量代码跑在 amd64(AVX/AVX2/AVX512)、arm64(NEON)和 wasm 上。本文梳理它如何隐藏宽度与掩码差异、支持哪些操作、怎样与 archsimd 互转,以及 GODEBUG=simd 各档位的含义。
Go
SIMD
性能
ARC
ARM64
amd64
RVV
avx
AVX512
内存
代码
能力
1.26
IM
25
Echo v5 迁移清单:Context 变结构体、Logger 换 slog,v4 还能撑到 2026-12-31
编程
Echo v5 迁移清单:Context 变结构体、Logger 换 slog,v4 还能撑到 2026-12-31
2026-10-10 00:05:27
Echo v5.0.0(2026-01-18)破坏性变更逐条排查:Context 从 interface 变结构体、Logger 换成 log/slog、Router 抽接口、Response 返回 http.ResponseWriter,附迁移 sed、泛型取值助手与测试代价,并说明 v4 支持到 2026-12-31。
Go
Web
框架
Echo
log
slog
迁移
net
http
Labs
18
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
24
下一页
共 24 页
到第
页
确定