Go教程技术文章
-
Go GJSON 读取多个不同路径时,不需要为每个字段重复处理整段 JSON。本文用 Parse 和 Result.Get 复用一次解析结果,再说明数组投影、多路径对象、缺失字段与类型转换的边界。311 收藏 -
介绍GJSON读取点号键名的路径转义写法,区分Go字符串与GJSON语法,并用完整示例说明动态组件转义、字段白名单和缺失结果处理。111 收藏 -
Go GJSON 处理 JSON 数组时,可以用 #.字段提取所有元素的同名字段,用条件查询后再投影,或用多路径一次构造只包含指定键的对象。本文给出当前写法、缺失字段处理和旧查询语法迁移边界。312 收藏 -
用两个职责清晰的 Colly Collector 分离列表页和详情页回调:列表只发现链接,详情独立解析,并说明 Clone 共享资源、相对 URL、错误处理和异步等待的边界。298 收藏 -
介绍 Go Colly 使用 colly.Context 在 OnRequest、OnHTML、OnResponse 和 OnError 之间传递请求级业务信息,说明 Request.Visit 的继承、Clone 的隔离边界,以及与标准库 context.Context 的职责区别。389 收藏 -
Go Colly 的 LimitRule 可以按域名控制同一站点的最大并发、固定间隔和随机间隔。本文结合 Async、Wait、DomainGlob 与多站点规则,说明怎样配置公开页面采集的节奏,并避开 Delay 与 Parallelism 同时设置时的语义误判。285 收藏 -
使用goquery Clone隔离文章子树修改,说明Remove返回值、Find匹配范围和CloneDocument区别,给出保留原文档的完整Go示例。305 收藏 -
用 goquery.Attr 的第二个返回值区分 HTML 属性缺失和属性值为空,再把判断封装进一个可复用的 Go 解析小工具。272 收藏 -
用 goquery.Map 把一组 HTML 节点按原顺序转换成强类型 Go 结构体切片,并说明 Attr 缺失、空文本、校验和批量解析时的边界处理。173 收藏 -
介绍Goja注册Go回调函数的两种写法,使用完整示例说明参数转换、原生FunctionCall、脚本异常接收和运行时并发限制。340 收藏 -
Goja 执行 JavaScript 后,可以使用 Runtime.ExportTo 将对象直接导出到 Go 结构体;本文说明字段映射、嵌套对象、数组和错误处理的写法。303 收藏 -
Goja 的 Compile 会生成与 Runtime 解耦的 Program,可以只编译一次,再交给多个独立 Runtime 执行。本文用完整示例说明输入注入、运行错误、并发隔离以及 Program 缓存与 Runtime 复用的边界。306 收藏 -
用context.WithTimeout或WithCancel建立脚本取消条件,再通过LState.SetContext绑定。示例说明执行错误、资源清理与Go回调的协作取消边界,避免并发关闭同一Lua状态。496 收藏 -
用 GopherLua 的 LTable.ForEach 遍历 Lua 表,结合 LValue 类型判断、必填字段检查和嵌套表转换,把脚本配置安全地映射为 Go 业务对象。426 收藏 -
Go GopherLua 注册 Go 函数的关键是实现 lua.LGFunction,再用 L.NewFunction 包装并通过 SetGlobal 或 SetFuncs 暴露给 Lua。本文围绕参数读取、返回值数量、错误回传和 LState 生命周期给出最小可复用写法。131 收藏