标签 Go语言 下的文章

大洗牌!Google 内部确认:Go 正取代 C++,成为 AI Agent 时代的“通用语言”

本文永久链接 – https://tonybai.com/2026/05/21/go-is-the-new-lingua-franca-for-ai-agents-at-google

大家好,我是Tony Bai。

在过去的两年里,只要一提到 AI 开发,99% 的人脑海中弹出的第一个词绝对是:Python。而如果是涉及到大模型底层的高性能推理与算力压榨,大家想到的必然是 C++ 或是 Rust

但在真正的工程落地中,情况正在发生一场令人猝不及防的剧变。

最近,Google 资深软件工程师 Jaana Dogan(@rakyll)在 X(原推特)上发布了一条引发技术圈热议的推文

“Go 成为 Google 内部 Agentic(智能体)系统的通用语言(lingua franca),这真的很了不起。我以前从未看到过 Go 有取代 C++ 的路径,但现在我相信这是可能的。”

这不仅仅是一条简单的技术感慨,它揭示了 AI 浪潮进入“下半场”后的核心工程困境:当我们把大模型封装成 Agent,并让成千上万个 Agent 并发协作时,Python 太脆弱,C++ 太沉重,而 Go,迎来了它的“天命时刻”。

今天,我们就来扒一扒,为什么 Google 会让 Go 接管 AI Agent 的底层开发?这对我们普通开发者的技术栈转型,又意味着什么?

打破滤镜:为什么 Python 和 C++ 在 Agent 时代“失宠”了?

要理解 Go 的上位,我们首先要搞清楚,AI Agent 到底需要什么样的工程能力。

现在的 AI 应用,早就不是早期那种“写个 Python 脚本,调用一下 OpenAI API,把结果打印出来”的玩具了。真实的 Agentic 系统(智能体系统)包含了极其复杂的网络 I/O、并发工具调用(Tool Calling)、多智能体消息路由、长时记忆状态管理,以及大规模的分布式容错。

在这个场景下,旧有的王者们暴露出了致命的缺陷:

1. Python 的“工程化陷阱”

Python 是 AI 研究员的最爱,因为它的数据科学库天下无敌。但当你要构建一个高并发、高可用、需要 24/7 运行的 Agent 编排系统时,Python 的弱类型(重构火葬场)和 GIL(全局解释器锁,导致无法真正利用多核并发)就成了灾难。正如原贴讨论区一位开发者所言:“模型层可能是 Python 的天下,但围绕着模型的 Runtime(运行时环境)正越来越像 Go 的领地。”

2. C++ 的“杀鸡用牛刀”

C++ 拥有极致的性能,是模型训练和推理引擎(Inner Loop)的绝对霸主。但 Agent 编排系统真的需要 C++ 级别的疯狂数学计算吗?不需要。

Agent 系统本质上是大量的网络等待(等 LLM 返回结果、等数据库查询、等网页抓取)。用 C++ 来写极其复杂的并发网络请求和状态机,不仅开发周期漫长,而且极易产生内存泄漏。正如推文评论所指出的:“C++ 背负了太多的历史包袱,它在 Agent 编排上显得太重了。”

Go 凭什么上位?Goroutine 与 Agent 的“完美同构”

Go 语言在这个时间节点爆火,并非偶然,而是因为它底层的并发哲学与 AI Agent 的行为模式产生了“完美的同构映射”

在 X 上的讨论中,多位资深开发者一针见血地指出了核心原因:

“Goroutines mapping directly to concurrent agent communication is the reason why it makes perfect sense.”(Goroutine 直接映射到并发 Agent 之间的通信,这是它如此完美契合的原因。)

让我们用大白话来翻译一下这个硬核逻辑:

什么是多智能体系统(Multi-Agent System)?本质上就是一堆各自独立的“数字员工”,它们一边自己干活,一边通过发消息相互沟通。
而 Go 语言最强大的杀手锏是什么?正是 CSP(通信顺序进程)并发模型,即 Goroutine(轻量级协程)和 Channel(通道)。

  • 当你启动一个 Agent 时:在 Go 里,你只需要一个简单的 go runAgent(),就能以极其低廉的内存代价(几 KB)启动一个并发实体。一千个 Agent?一万个 Agent?对 Go 来说毫无压力。
  • 当 Agent 之间需要协作对话时:你不需要去搞复杂的锁(Locks)或者共享内存,你只需要用 Go 的 Channel 把消息塞过去,另一个 Agent 就能安全地接收。

Agent 的编排,需要的是“轻量级的并发管理”,而不是“极致的数学计算速度”。这简直就是为 Go 量身定制的战场。

征服大厂,构建 Agent 架构的“铁三角”

除了并发模型上的天作之合,评论区的一位开发者还另外总结了 Go 赢下这场战争的另外三个决定性因素。他指出,现代 Agent 技术栈奖励三种特性,而 “Go 完美击中了这三点(Go nails all three)”

1. 强类型系统(Types):告别“盲盒”开发

Agent 系统中充斥着复杂的 JSON 解析、Tool Calling 的参数校验、以及结构化的输出。Python 的字典(Dict)传递在项目变大后就像是“盲盒”,你永远不知道里面缺了哪个字段。而 Go 的强类型 Struct 和极度清晰的错误处理机制(虽然大家都吐槽 if err != nil,但它确实极其可控),让系统拥有了极高的可预测性(Predictability)。

2. 极速的编译体验(Fast Builds)

“编译速度是让它成为绝配的原因之一。”在快速迭代的 AI 产品中,Go 那种秒级的编译速度,让开发者可以飞速地测试 Agent 的行为逻辑。相比之下,C++ 那漫长的编译过程在需要高频微调的 AI 时代显得格格不入。

3. 小巧的单一二进制文件(Small Binaries)

当你把 Agent 部署到云端、边缘设备甚至是 Serverless 环境时,Go 编译出来的是一个无需任何外部依赖的独立执行文件。没有 Python 烦人的环境依赖(无需折腾 pip, conda, 虚拟环境),直接丢进一个极小的 Docker 镜像中就能运行,这对于现代云原生运维来说是无可估量的优势。

一个反直觉的冷知识:大模型“最爱”写 Go 代码

推文中一个开发者提出了一个极其有趣且经常被忽视的视角:在 LLM(大语言模型)的眼中,Go 是一门完美的语言。

如果你经常用 Cursor/Codex/Claude Code等 写代码,你会发现一个现象:让 AI 写 Python,它经常会用错第三方库的版本;让 AI 写 C++ 或 Scala,它可能会搞出一堆极其复杂的继承、多态或者生命周期错误。

但如果你让 AI 写 Go 呢?成功率出奇的高。

原因在于:

  1. Go 的语法极致简单、无聊,甚至“没有类(Classes)”。它只有 Struct 和接口,这极大地减少了代码的“表面积(Surface Area)”。
  2. Token 使用率极高。由于没有复杂的黑魔法和繁琐的泛型体系(早期),LLM 在生成 Go 代码时不容易出现“幻觉”,维护起来极其容易。

在这个连代码本身都开始由 AI 生成的时代,“对 LLM 友好”竟然成了一门编程语言的核心护城河。

终局推演 —— C++ 守住“内环”,Go 赢下“外环”

那么,Go 真的会彻底消灭 C++ 吗?

并不完全是。这场讨论最终达成了一个非常清晰的技术栈共识:

“C++ still wins the inner loop. Go wins everything around it.”(C++ 依然赢得了内环,而 Go 赢得了周围的一切。)

未来的 AI 系统架构已经初露端倪,它将被清晰地划分为三个层级:

  1. 研究与数据层(Python):用于模型训练、数据清洗、算法验证。
  2. 算力内环(C++ / Rust / CUDA):大模型的推理引擎(如 vLLM、Ollama 底层)、张量计算。这里需要极致榨干每一滴 GPU 性能,C++ 依然是绝对的霸主。
  3. 编排外环与业务层(Go):这是距离普通开发者最近、也是市场需求最大的地方。成千上万的 Agent 调度、API 网关、并发的数据检索(RAG)、记忆数据库交互、工具链调用,全部都将被 Go 统治。

最新铁证!Google I/O 2026 震撼官宣:废弃旧路线,用 Go 重写 AI 核心入口!

如果你觉得前面硅谷大佬们的讨论还只是“理论推演”,那么在刚刚举办的 Google I/O 2026 大会上,Google 官方直接用一记雷霆手段,把这个趋势变成了既成事实。

Google 开发者博客发布了公告:正式宣布停止维护原有的 Gemini CLI,全面过渡到全新的“Google Antigravity(反重力)”多智能体开发平台,并推出全新的核心入口 —— Antigravity CLI

而在官方给出的技术变更文档中,最扎眼、最让 Go 开发者狂喜的一条更新理由,白纸黑字地写着:

“Faster execution: Built in Go, Antigravity CLI is snappier and more responsive.” (更快的执行速度:基于 Go 语言构建,Antigravity CLI 更加轻快、响应更迅速。)


图:Google I/O 2026:旧版 CLI,用Antigravity CLI替代

旧版的 Gemini CLI 是基于传统脚本语言(Node.js/TS 体系)构建的,在处理单点交互时绰绰有余。但 Google 明确表示,现在开发者的需求已经彻底变了:“你现在需要多个 Agent 相互通信、分工合作来解决复杂的系统问题。”

当单点 CLI 变成“多 Agent 协同编排后端”时,旧有的 JS/TS 体系在高并发、异步工作流(Asynchronous Workflows)和底层系统控制上面临性能瓶颈。Google 毫不犹豫地选择用 Go 语言 彻底重写,就是为了利用 Go 极致的并发和执行效率,来支撑起“后台多任务并发运行、且不锁定终端”的强悍体验。

小结:给开发者的生存建议

过去的一年里,无数后端开发者感到焦虑,觉得自己掌握的 CRUD 技能在 AI 面前一文不值。但 Google 内部的这场技术栈迁移,给我们指明了一条无比清晰的道路:

别再只盯着 Python 看了。

当 AI 从单一的对话框,走向全面接管企业业务流的多智能体(Multi-Agent)协作形态时,对高并发、高可用后端工程能力的需求不仅没有减少,反而呈指数级爆发。

学习 Go 语言,理解 Goroutine,掌握如何构建一个稳健的 Agent 编排框架。因为决定下一个十年 AI 应用成败的,不再是模型本身的算力,而是谁能最好地管理和协调这些拥有智能的“数字大军”。

而目前来看,Go,已经在这场战役中拔得头筹。

资料链接:https://x.com/rakyll/status/2056528039698403498


今日互动探讨:

你目前在开发 AI 应用或 Agent 系统时,使用的是什么语言?你是否遇到了 Python 在高并发或部署时的痛点?欢迎在评论区分享你的实战经验与踩坑血泪史,我们一起探讨 AI 时代的最佳实践!


还在为写 Agent 框架频频死循环、上下文爆炸而束手无策?我的新专栏 从0 开始构建 Agent Harness 将带你:

  • 抛弃臃肿框架,回归“驾驭工程 (Harness Engineering)”的第一性原理
  • 用 Go 语言手写 ReAct 循环、并发拦截与上下文压缩引擎等,复刻极简OpenClaw
  • 构建坚不可摧的 Safety Middleware 与飞书人工审批防线
  • 在底层实现 Token 成本审计、链路追踪与自动化跑分评估
  • 从“调包侠”进化为掌控大模型边界的“AI 操作系统架构师”

扫描下方二维码,开启从 0 开始构建Agent Harness 的实战之旅。


原「Gopher部落」已重装升级为「Go & AI 精进营」知识星球,快来加入星球,开启你的技术跃迁之旅吧!

我们致力于打造一个高品质的 Go 语言深度学习AI 应用探索 平台。在这里,你将获得:

  • 体系化 Go 核心进阶内容: 深入「Go原理课」、「Go进阶课」、「Go避坑课」等独家深度专栏,夯实你的 Go 内功。
  • 前沿 Go+AI 实战赋能: 紧跟时代步伐,学习「Go+AI应用实战」、「Agent开发实战课」、「Agentic软件工程课」、「Claude Code开发工作流实战课」、「OpenClaw实战分享」等,掌握 AI 时代新技能。
  • 星主 Tony Bai 亲自答疑: 遇到难题?星主第一时间为你深度解析,扫清学习障碍。
  • 高活跃 Gopher 交流圈: 与众多优秀 Gopher 分享心得、讨论技术,碰撞思想火花。
  • 独家资源与内容首发: 技术文章、课程更新、精选资源,第一时间触达。

衷心希望「Go & AI 精进营」能成为你学习、进步、交流的港湾。让我们在此相聚,享受技术精进的快乐!欢迎你的加入!

img{512x368}


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。

别神话 Rust 重写了:搞定1%热路径,Go 性能照样起飞

本文永久链接 – https://tonybai.com/2026/05/18/go-performance-optimization-over-rust-rewrites

大家好,我是Tony Bai。

近年来,如果你常年混迹于国内外各大技术社区,你一定会感受到一种近乎狂热的“政治正确”:带垃圾回收(GC)的语言都有原罪,万物皆可(且应该)用 Rust 重写。

从底层基础设施到上层业务逻辑,无数团队在遇到性能瓶颈时,脑海中蹦出的第一个念头就是:“Go/Java 搞不定了,由于 GC 停顿的存在,我们必须换 Rust 乃至 C++ 来重构核心模块。”

但这真的是解决性能问题的唯一出路吗?

最近,几位硅谷顶级的技术大佬——前 Tailscale CTO David Crawshaw、开源时序数据库 VictoriaMetrics CTO Aliaksandr Valialkin,以及资深底层代码大牛 Stewart Lynch,在 X(原推特)上掀起了一场关于“现代软件复杂性与性能优化”的讨论。

仔细研读他们的观点后,我得出了一个可能有些“反直觉”的结论:

对于绝大多数商业项目而言,盲目追求去 GC 化和无脑 Rust 重写,是一场灾难。真正顶级的性能优化,往往只需要对那 1% 的“热路径”动刀。

今天,我们就来揭秘这层信息差,看看顶级架构师是如何在不增加心智负担的前提下,把带 GC 的 Go 语言性能压榨到极致的。

现代软件最大的毒瘤:“不必要的复杂性”

为什么我们总是忍不住想要用极其复杂的语言或架构去重写现有的系统?

Stewart Lynch 在讨论中一针见血地指出了现代软件工程的通病:“Everything that’s wrong with modern software can be summed up in two words: Unnecessary Complexity”(现代软件所有的毛病,可以用两个词来概括:不必要的复杂性)。

这背后其实隐藏着一个程序员群体独有的心理学陷阱。

Lynch 解释道:“程序员这个群体有一个特殊的问题——我们往往是因为‘享受解决复杂问题’才选择这个职业的。我们热衷于理解极其复杂的东西并让它运转起来,我们是人类历史上最复杂结构的构建者。正因为如此,我们在任何地方都在寻找与复杂性搏斗的机会,即使在那些本该追求极简的地方。

这就解释了为什么很多团队在面对一个简单的 CRUD 业务或者中等并发的微服务时,会毫不犹豫地引入极高门槛的语言(比如有着严苛借用检查器的 Rust)或是过度设计的服务网格。

因为“复杂,让人觉得高级”

但结果是什么?

业务逻辑被切割得支离破碎,新员工入职需要花费两三个月才能看懂生命周期和指针所有权,团队的迭代速度断崖式下跌。你以为你在优化系统的性能,实际上,你在制造一场长期的维护灾难。在这个过程中,你消耗了大量的公司预算,仅仅是为了解决那些“想象中的未来问题”。

记住架构设计的第一法则:复杂性是优秀软件的死敌。

你的 99% 代码根本不需要瞎折腾

既然复杂性是死敌,那性能问题怎么办?难道我们就任由 GC 导致程序卡顿吗?

这时候,前 Tailscale CTO David Crawshaw 抛出了一个极具颠覆性的观点。他指出,整个行业现在正把海量的资源倾注到像 Rust 这样没有 GC 的程序中,但大家忽略了一个极其残酷的统计学事实:

“Almost all your code paths are cold and GC is net positive. 1% of your code is performance sensitive. Don’t create GC pressure there.” (你几乎所有的代码路径都是‘冷’的,在这些地方 GC 带来了纯粹的正向收益。只有 1% 的代码对性能真正敏感。你只需要不在那 1% 的地方制造 GC 压力就行了。)

什么是“冷代码”?

配置解析、路由分发、错误处理、数据库连接初始化、日志记录……在一个庞大的工程中,这部分代码占据了 99% 的体积。它们对微秒级的延迟根本不敏感。

对于这 99% 的代码,使用 Go、Java 甚至 OCaml 这样带有Full runtime GC的语言,是巨大的恩赐。GC 解放了程序员的大脑,让你不需要像写 C/C++ 或 Rust 那样,在写每一行代码时还要在脑海里进行“部分编译时规划(Partial compile-time planner)”。它让你可以把全部精力聚焦在“业务逻辑”本身。

人类解决复杂问题的能力,在不被内存分配分心时,才能发挥到极致。

为了那 1% 真正需要榨干 CPU 周期的核心逻辑,去强迫整个团队在剩下 99% 的冷代码中也要与内存所有权作斗争,这在商业 ROI(投资回报率)上是极其荒谬的。

这就是所谓“不要为了 1% 的醋,去包 99% 的饺子”。

VictoriaMetrics CTO 的 1% 极简榨干指南

好,逻辑理顺了:我们决定坚持使用 Go 语言,享受它极高的开发效率和并发优势。但我们确实遇到了那 1% 的核心瓶颈——比如高频交易的核心撮合引擎、时序数据库的底层写入循环。这部分代码极其吃 CPU,且 GC 带来的 STW(Stop The World)让人无法忍受。

不换语言,怎么破局?

别急,让我们来看看目前世界上性能最强悍的开源时序数据库之一:VictoriaMetrics 的做法。这个数据库完全是由 Go 语言编写的,但在各项 Benchmark 性能测试中,它经常把一众 C++ 和 Rust 写的时序数据库按在地上摩擦。

它的 CTO,Aliaksandr Valialkin 在这次讨论中,大方地分享了他“降维打击”般的优化路径。我将他的经验,结合各位大牛的讨论,为你整理成了以下三步走的“实操密码”:

放弃盲猜,用 Profiler 精准定位热路径(Hot Paths)

你永远不可能靠“直觉”找到性能瓶颈。Aliaksandr 强调,Go 语言拥有极度强大的内置 Profiler(pprof)。不要一上来就重构,先让程序跑起来,打入真实流量,然后用 pprof 精准定位出那消耗了 80% CPU 和大量内存分配的 1% “热路径”究竟在哪几个函数里。

这 1% 的代码,代码量往往极小,寻找它们并不困难。

在热路径中“完全移除”内存分配(Zero Allocation)

这是 Go 性能优化的核心灵魂。Aliaksandr 的原话是:“This is how I optimize programs written in Go – by removing memory allocations from hot paths…”。

只要你在热路径中不产生新的对象(不触发 malloc 和堆分配),垃圾回收器(GC)就根本不会被唤醒。没有分配,就没有垃圾;没有垃圾,就没有 GC 压力和停顿。

开启“逃生舱”:使用预分配与 Arena 机制

既然热路径不能分配新内存,那需要处理海量数据怎么办?大佬们给出了三种在 Go 中模拟底层语言内存管理的“逃生手段”:

  • 预分配大块内存(Pre-allocations):
    正如 David Crawshaw 所举的例子,你可以在 Go 中一次性分配一个巨大的数组,比如:var x = make([]struct{…}, 1e6)。
    这只产生一次大分配,然后你完全可以利用自己的算法,在这个预先分配好的内存块中进行指针的滑动和复用。对于 GC 来说,这只是一个单一的连续指针,GC 扫描它的成本极低,既能实现高并发,又极大地降低了 CPU 消耗。

  • 对象池机制(sync.Pool):
    对于频繁创建和销毁的小对象,不要让它们落入 GC 的魔爪。利用 sync.Pool 将它们缓存起来,反复复用。

  • 请求作用域内存竞技场(Arenas):
    Aliaksandr 提到了在处理网络请求时极其高效的 Arena 概念。在这个模式下,与单次 Request 相关的所有小对象分配,都在一个预先分配好的大块 Arena 中进行。当请求结束时,不需要逐个去释放对象,而是直接清空(free)整个 Arena。这几乎达到了和 Rust 一样零开销的内存清理效果,但代码写起来依然是熟悉的 Go 语法。

对 99% 的代码保持克制

当你在那 1% 的热路径里用尽了上述像 C 语言一样的“脏活累活”后,请立刻停手

让程序剩下的 99% 保持最地道(Idiomatic)、最简单、最具可读性的 Go 代码。让 GC 去接管它们。

你会神奇地发现:你的程序不仅拥有了媲美 C++/Rust 的极致性能,同时你的团队依然保持着原本极高的业务迭代速度。

小结——顶级工程师与普通码农的终极分水岭

回顾这几位大佬的讨论,其实核心只指向了一个词:克制(Restraint)。

普通工程师总是试图寻找一种“银弹”——希望换一种时髦的语言,就能一劳永逸地解决架构、性能和内存安全的所有问题。他们沉迷于构建极其复杂的抽象体系,试图用技术上的炫技来掩盖业务上的平庸。

而真正顶级的架构师,深知商业的本质和团队运作的规律。他们懂得:

  1. 好的设计,就是当你不能再拿走任何东西的时候。 (正如评论区一位开发者所说:Good design is when you keep taking away things until you cannot take away any more.)
  2. 永远不要在全局引入复杂性。 遇到性能问题,先用监控定位,然后把性能敏感的那 1% 的代码隔离出来,在这个小黑盒子里用最极客的方式优化,最后把它严丝合缝地封装好。
  3. 拥抱不完美但高效的工具。 不要嫌弃 GC,懂得如何与 GC 和谐共处,才是真正的大师。

如果下次你的团队里,再有人因为某个接口慢了 10 毫秒,就嚷嚷着要用 Rust 把整个几十万行的后端服务重写时,请把这篇文章甩到他的脸上。

告诉他:“去把 pprof 打开,把那 1% 循环里的临时变量给我复用了,然后早点下班回家。”

资料链接:

  • https://x.com/valyala/status/2055725885035045234
  • https://x.com/stewartlynch8/status/2055322205563617516
  • https://x.com/davidcrawshaw/status/2055288855792955511

今日互动探讨:

在你的职业生涯中,是否经历过为了追求所谓的“极致性能”或“极客审美”,而导致整个项目陷入“过度复杂化(Over-engineering)”灾难的时刻?或者,你在使用 Go 语言时,有什么私藏的“热路径”压榨技巧?

欢迎在评论区留言和我探讨,我们一起对抗现代软件的“过度复杂病”。 (如果你觉得这篇文章打破了你的认知,别忘了点赞转发,让更多挣扎在重构边缘的兄弟们看到!)


还在为写 Agent 框架频频死循环、上下文爆炸而束手无策?我的新专栏 从0 开始构建 Agent Harness 将带你:

  • 抛弃臃肿框架,回归“驾驭工程 (Harness Engineering)”的第一性原理
  • 用 Go 语言手写 ReAct 循环、并发拦截与上下文压缩引擎等,复刻极简OpenClaw
  • 构建坚不可摧的 Safety Middleware 与飞书人工审批防线
  • 在底层实现 Token 成本审计、链路追踪与自动化跑分评估
  • 从“调包侠”进化为掌控大模型边界的“AI 操作系统架构师”

扫描下方二维码,开启从 0 开始构建Agent Harness 的实战之旅。


原「Gopher部落」已重装升级为「Go & AI 精进营」知识星球,快来加入星球,开启你的技术跃迁之旅吧!

我们致力于打造一个高品质的 Go 语言深度学习AI 应用探索 平台。在这里,你将获得:

  • 体系化 Go 核心进阶内容: 深入「Go原理课」、「Go进阶课」、「Go避坑课」等独家深度专栏,夯实你的 Go 内功。
  • 前沿 Go+AI 实战赋能: 紧跟时代步伐,学习「Go+AI应用实战」、「Agent开发实战课」、「Agentic软件工程课」、「Claude Code开发工作流实战课」、「OpenClaw实战分享」等,掌握 AI 时代新技能。
  • 星主 Tony Bai 亲自答疑: 遇到难题?星主第一时间为你深度解析,扫清学习障碍。
  • 高活跃 Gopher 交流圈: 与众多优秀 Gopher 分享心得、讨论技术,碰撞思想火花。
  • 独家资源与内容首发: 技术文章、课程更新、精选资源,第一时间触达。

衷心希望「Go & AI 精进营」能成为你学习、进步、交流的港湾。让我们在此相聚,享受技术精进的快乐!欢迎你的加入!

img{512x368}


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! Go语言第一课 Go语言进阶课 AI原生开发工作流实战 从 0 开始构建 Agent Harness Go语言精进之路1 Go语言精进之路2 Go语言第一课 Go语言编程指南
商务合作请联系bigwhite.cn AT aliyun.com
这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn
DigitalOcean Referral Badge

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats