分类: Go Tour
-
本文记录 go-tour-i18n 项目翻译 A Tour of Go methods/16 页面时,对左侧教学代码注释翻译策略的完整校准过程。第一次翻译因代码块注释被译成中文而触发现有结构校验失败,随后项目通过全量审计确定:右侧可运行示例继续保持官方原样,左侧教学代码中的自然语言注释则应在安全边界内翻译。为此,项目新增了预格式化 Go 代码扫描、非注释代码逐字保护、注释内 Go 标识符保护、人工 candidate 独立校验,以及斜体、粗体和行内代码结构检查。最终 methods/16 在第二次尝试中通过自动校验、人工润色和浏览器预览,并沉淀了一批 methods 与 interfaces 相关术语。
-
本文记录 go-tour-i18n 项目使用 GLM-5.2 翻译 A Tour of Go generics/1 页面时的完整校准过程。一个看似简单的泛型页面先后经历网络权限失败、保护 Token 重复、legacy present 行内代码边界合并、Token 顺序交换等问题,最终通过中文提示词统一、Token 类型元数据和确定性空格规范化,在第五次尝试中通过自动校验,并完成人工润色、术语沉淀和浏览器预览。文章同时说明,当前项目仍处于代表页面校准阶段,尚未进入批量翻译。
-
本文记录 go-tour-i18n 项目进入正式翻译阶段后的最新进展:完成 Welcome 全章及 Basics 前 3 页,共有 8 个简体中文页面进入 ready;确认正式发布采用 103 页投影,并区分本地执行与远程 Playground 语义;发现并修复 legacy present 语法中带空格行内代码的 Protected Token 保护问题。文章还回顾了此前针对 WordPress 技术博客整篇翻译进行的 DeepSeek V4 Pro 与 GLM-5.2 对比,并说明由于本轮实际更新的是 V4 Flash、V4 Pro 尚未更新,暂时搁置新的模型对比。后续将先校准跨章节代表页面,再试跑 10 页,稳定后才进入剩余页面的批量自动翻译。
-
本文记录 go-tour-i18n 项目正式启动简体中文翻译后的首个完整实践:从 welcome/1 页面提取、GLM-5.2 整页翻译,到 standalone 条件内容修复、protected token、术语表、统一校验与开发模式调试,最终完成第一个 zh-CN 页面并进入 ready。文章同时总结了 ChatGPT、Codex 与人工监督之间的协作方式,以及后续评估 DeepSeek 新版本翻译质量和成本的计划。
-
本文记录 A Tour of Go 中文版项目进入代码实现后的阶段成果。通过调查六个现有翻译项目,项目最终没有复制整个 golang/website,而是从固定上游提交中提取可独立运行的 Tour 最小源码闭包,并建立文件级来源追踪。在完成英文基线、示例代码运行链路和 7 / 101 / 92 / 1 结构验证后,项目进一步为 101 个课程页面建立机器可读目录、页面级源哈希、持久 page_id、候选译文结构校验和上游变化预览机制。目前 101 个简体中文页面仍全部处于 pending,正式翻译尚未开始。
-
本文针对 Go 语言官方教程中的 Web 爬虫案例,分析了原始递归代码存在的串行执行效率低及重复抓取问题。通过引入 goroutine 实现并行请求,并利用 sync.Mutex 保护共享的 map 状态以确保并发安全,同时使用 sync.WaitGroup 协调协程生命周期。最终构建出一个高效的线程安全爬虫,深入展示了 Go 并发模型中的核心概念与实际应用方法。
-
文章针对使用 Go 语言检查二叉树是否包含相同值序列的问题,展示了利用并发原语和通道机制的解决方案。通过实现 Walk 函数进行中序遍历并发送节点值,再由 Same 函数启动两个 goroutine 并行遍历两棵树,利用通道的阻塞与关闭特性在主流程中同步比较。最终结论指出,该方法相比传统数组存储方式,无需额外空间、支持惰性求值与提前终止,且代码简洁逻辑清晰,体现了 Go 的并发设计哲学。
-
本文结合 Go Tour 练习探讨了实现自定义 error 接口的过程,通过定义 ErrNegativeSqrt 类型并编写 Error 方法来处理负数平方根的计算。重点分析了在 Error 方法中使用 fmt.Sprint 可能引发的无限递归陷阱,解释了其调用机制,并提出了通过类型转换为 float64 打破循环的解决方案,最终总结出接口隐式实现及类型转换在错误处理中的注意事项。
-
本文介绍了在Go语言入门练习中,利用闭包实现斐波那契数列生成器的方法。文章详细说明了实现需求,即编写一个返回闭包的函数,该闭包每次被调用时返回数列的下一个值。通过在闭包外部定义变量来捕获并保留状态,利用并行赋值更新数值,最终实现了连续生成斐波那契数列的功能,并验证了运行结果。
-
本文记录了Go语言单词计数练习的实现过程。通过使用strings.Fields函数分割字符串,并利用for range循环遍历切片,实现了将字符串中单词出现次数存入map的逻辑。文章详细解析了map的初始化与默认值特性,展示了代码实现与wc.Test测试验证过程,适合初学者巩固Maps用法及相关标准库函数的应用。
