Go教程技术文章
-
用 github.com/pkg/sftp 区分单文件请求上限、文件任务池和读写方向,并用 ReadFromWithConcurrency 精确控制一次传输的并发度。232 收藏 -
通过完整 Go SFTP 上传函数说明同目录临时文件、写入和关闭错误处理、POSIX 重命名及覆盖策略,并区分名称交接、持久化和消费确认,处理响应中断后的不确定结果。355 收藏 -
用 github.com/pkg/sftp 和 io.Copy 流式下载远端文件,配合临时文件、错误链与关闭错误处理,避免半成品污染最终路径。360 收藏 -
Go INI 默认会把同名键视为同一个 Key。本文用 ShadowLoad、ValueWithShadows 和 LoadOptions 说明怎样保留重复键的多个值,以及完全相同的重复值何时会被去重。446 收藏 -
Go INI 可以把文件、[]byte 和 Reader 作为多个配置源按顺序合并,后加载源覆盖同名键。本文用默认配置、环境覆盖和运行时字节配置说明优先级写法,以及 Loose、ShortCircuit、Append 的选型边界。210 收藏 -
使用 go-ini 读取 INI 时,可以用嵌套结构体上的 ini 标签对应节名,再用字段标签对应键名;本文给出 MapTo、StrictMapTo、类型转换和常见排查边界。200 收藏 -
讲解 JSON Pointer 对斜杠及波浪线的编码,通过完整 Go JSONPatch 示例区分单个成员和嵌套路径,并说明逐段构造、JSON 字符串编码与补丁错误处理。187 收藏 -
用 github.com/evanphx/json-patch/v5 的 MergeMergePatches 合并两份 JSON Merge Patch,并说明补丁顺序、null 删除、嵌套对象和数组整体替换的边界。208 收藏 -
Go 中应用 JSON Patch 的关键是先用 DecodePatch 解析 RFC 6902 操作数组,再用 Apply 或 ApplyWithOptions 作用到原始 JSON 文档,并明确缺失路径、copy 扩张和业务校验的边界。164 收藏 -
通过完整 Go 示例讲解 Validator TagNameFunc 的注册与错误提取,区分 JSON 字段名、Go 字段名和嵌套路径,说明缓存时机及 json 忽略标签的处理方式。139 收藏 -
Go Validator 的字段标签适合校验单个字段,密码与确认密码、起止时间等跨字段不变量需要结构体级校验。本文用 RegisterStructValidation 注册 StructLevelFunc,说明 ReportError、错误路径、初始化时机和安全边界。166 收藏 -
Go Validator 的 dive 用于把校验规则下沉到切片元素。本文用批量邮箱和订单明细示例说明容器规则、元素规则、嵌套结构体、错误下标与空值边界的写法。318 收藏 -
Go Squirrel 使用 PlaceholderFormat 在 Question、Dollar、Colon 和 AtP 之间转换数据库占位符,本文说明统一配置、args 对应、嵌套查询和字面问号的处理边界。339 收藏 -
Squirrel 的 Expr 可以把 SQL 片段与绑定参数封装成可组合的 Sqlizer。本文从普通参数、嵌套表达式、ToSql 和 PlaceholderFormat 四个角度说明怎样保持 SQL 与 args 的顺序一致,并避开字符串拼接和问号转义误区。115 收藏 -
使用 Squirrel Eq 构造可选筛选条件,通过完整函数区分省略、false、0、SQL NULL 和 IN 列表,并说明固定列名、占位符及 SQL 与 args 配对的边界。430 收藏