分类: Go
-
本文记录 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,正式翻译尚未开始。
-
本文记录 A Tour of Go 中文版项目在正式开发前完成的设计收敛过程。通过分析官方源码,确认当前固定 upstream 基线中 raw article 与 standalone 模式均为 101 页,而 integrated production 实际为 103 页,因此最终将 production 页面确定为翻译、校验和状态管理的最小单元。项目同时冻结整页翻译、段落结构校验、Candidate 与 Published 独立管理、Upstream Lock、最小等价 Projector 等核心规则,并根据真实使用需求放弃 Gin 和 Web 管理界面,正式采用 Go、Cobra CLI、文件状态存储及官方 Tour 兼容运行方案。
-
在网站 Google 搜索自然查询中发现「A Tour of Go 中文版」产生真实点击后,我进一步确认 Go 官方目前仍保留简体中文入口,但过去对应的 tour.go-zh.org 已无法正常访问。基于这一内容缺口,我计划以当前官方 A Tour of Go 为上游,使用 Go 和 GLM-5.2 建立一个可持续同步、自动校验并经过人工审核的简体中文版本,暂定部署至 zh.go-tour.shuijingwanwq.com,中文站使用 EdgeOne。本篇记录项目产生的背景、技术选型、翻译原则、域名与部署架构,以及第一阶段 MVP 规划。
-
本文记录了在 Ubuntu 26.04 上使用 Trae CN 编辑器和 Docker 容器搭建 Go + Gin 开发环境的完整流程。文章介绍了宿主机配置 Git 认证、安装 Go 及扩展的方法,重点阐述了通过挂载目录复用 Git 配置、持久化 Go 模块缓存以及在容器内成功运行 Gin 服务的步骤,最终实现了宿主机负责编辑、容器负责运行的高效工作流。
-
本文探讨了 Go 语言中 goroutine 发生未捕获 panic 导致程序崩溃的问题,通过对比使用和不使用 recover 的示例,分析了 defer 与 recover 机制的工作原理。结果显示,在 goroutine 中利用 defer 嵌入 recover 调用,能有效捕获异常值并阻断其传播,从而隔离单个协程的故障。这确保了主线程及其他正常运行协程不受影响,避免了进程整体退出,是保障生产环境服务稳定性的关键实践。
-
本文介绍了 Go 语言标准库内置的模板引擎,重点对比了 text/template 与 html/template 的区别与适用场景。文章从 PHP 转向 Go 的开发视角出发,详细讲解了模板定义、解析与执行的三步流程,以及动作、变量与管道等基础语法。此外,还深入分析了 html/template 的上下文感知自动转义机制,强调了其在防范 XSS 攻击方面的安全优势,帮助读者快速掌握 Go 模板渲染的核心用法。
-
在 Go 语言中,从未关闭的 channel 读取数据可能导致阻塞甚至死锁,特别是在多 goroutine 场景下难以把握关闭时机。文章探讨了如何使用 select 语句配合 default 分支实现非阻塞读取,通过 for-select 结构同时监听多个 channel,在没有数据时立即执行 default 逻辑而非等待。这种方式避免了显式关闭 channel 的必要性,提供了更灵活的并发流程控制,是处理多数据源和防止死锁的有效手段。
-
本文基于 Go 语言对比了传统串行实现与多协程并发实现统计 1 至 200,000 范围内素数的性能差异。传统方法使用循环在主线程顺序执行,而并发方法通过 Channel 建立任务队列,实现生产者与多消费者模型的动态负载均衡。测试结果显示,在双核 CPU 环境下,串行实现耗时约 25 秒,多协程并发实现耗时约 12 秒,效率提升 50%,证实利用多核优势能有效减少 CPU 密集型任务的总耗时。
