- MCP(Model Context Protocol)是 Anthropic 推出的一种标准化协议,用于让 AI 模型(如 Copilot Agent)安全、高效地调用外部工具和服务。通过 MCP,你可以将数据库查询、API 调用、文件操作等能力暴露给 AI,使其具备“行动力”。今日,随着MCP官方发布了Go SDK,AI的风终于吹到的go。本文将带你从零开始,使用官方 [mcp Go SD... MCP(Model Context Protocol)是 Anthropic 推出的一种标准化协议,用于让 AI 模型(如 Copilot Agent)安全、高效地调用外部工具和服务。通过 MCP,你可以将数据库查询、API 调用、文件操作等能力暴露给 AI,使其具备“行动力”。今日,随着MCP官方发布了Go SDK,AI的风终于吹到的go。本文将带你从零开始,使用官方 [mcp Go SD...
- Gin 是 Go 语言中最受欢迎的 Web 框架之一,以其高性能、简洁 API 和强大中间件生态著称。2025 年发布的 Gin v1.11.0 在保持轻量核心的同时,带来了多项重要更新,涵盖 HTTP/3 实验支持、表单绑定增强、上下文类型扩展、性能优化与安全加固 等方面。下面就烂看看gin v1.11的新特性。 1️⃣ 🚀 实验性支持 HTTP/3(基于 quic-go)PR #321... Gin 是 Go 语言中最受欢迎的 Web 框架之一,以其高性能、简洁 API 和强大中间件生态著称。2025 年发布的 Gin v1.11.0 在保持轻量核心的同时,带来了多项重要更新,涵盖 HTTP/3 实验支持、表单绑定增强、上下文类型扩展、性能优化与安全加固 等方面。下面就烂看看gin v1.11的新特性。 1️⃣ 🚀 实验性支持 HTTP/3(基于 quic-go)PR #321...
- 🔧 什么是 Redis Pipeline?Pipeline(管道)是 Redis 提供的一种批量命令执行机制:客户端将多个命令一次性发送给 Redis,Redis 顺序执行并批量返回结果,减少网络往返(RTT)开销。⚠️ 注意:Pipeline ≠ 事务(MULTI/EXEC)!Pipeline:无原子性保证,仅优化网络;多个命令可能部分成功Transaction:保证原子性(但不支持回... 🔧 什么是 Redis Pipeline?Pipeline(管道)是 Redis 提供的一种批量命令执行机制:客户端将多个命令一次性发送给 Redis,Redis 顺序执行并批量返回结果,减少网络往返(RTT)开销。⚠️ 注意:Pipeline ≠ 事务(MULTI/EXEC)!Pipeline:无原子性保证,仅优化网络;多个命令可能部分成功Transaction:保证原子性(但不支持回...
- 初学 Go 时,我们常写这样的函数:func add(a int, b int) int { return a + b}但真实项目中,函数远不止“传参返值”这么简单。今天分享 3 个高频实用的进阶技巧——让函数更灵活、更安全、更专业 👇 1️⃣ 技巧一:变长参数(Variadic Functions)✅ 场景:日志打印、求和、批量操作 🌰 传统写法(硬编码参数个数)func sum... 初学 Go 时,我们常写这样的函数:func add(a int, b int) int { return a + b}但真实项目中,函数远不止“传参返值”这么简单。今天分享 3 个高频实用的进阶技巧——让函数更灵活、更安全、更专业 👇 1️⃣ 技巧一:变长参数(Variadic Functions)✅ 场景:日志打印、求和、批量操作 🌰 传统写法(硬编码参数个数)func sum...
- 一、背景:传统 errors.As 的痛点Go 从 1.13 起引入了 errors.As(err, target) 来支持「错误链中的类型匹配」,解决了「如何判断一个 error 是否包装了某类特定错误」的问题。但其使用方式存在明显短板:// 传统写法:冗长、易错、作用域污染var pathErr *fs.PathErrorif errors.As(err, &pathErr) { ... 一、背景:传统 errors.As 的痛点Go 从 1.13 起引入了 errors.As(err, target) 来支持「错误链中的类型匹配」,解决了「如何判断一个 error 是否包装了某类特定错误」的问题。但其使用方式存在明显短板:// 传统写法:冗长、易错、作用域污染var pathErr *fs.PathErrorif errors.As(err, &pathErr) { ...
- 🚪 场景还原:你租了一套房房子 = 进程的内存空间客厅 = 堆(heap)抽屉 = 栈(stack)你 = 程序现在问题来了:谁来决定「一个茶杯能不能扔」?语言决策者风格你的心态Go🏠 房东(GC)“我定期来收垃圾,你安心喝茶”😌 放心摸鱼,偶尔被停顿吓一跳Rust🧹 管家(编译器)“茶杯只能有 1 个主人,借出要登记,还回来才能扔”😅 写代码像填表格,但运行时稳如老狗 🐹 G... 🚪 场景还原:你租了一套房房子 = 进程的内存空间客厅 = 堆(heap)抽屉 = 栈(stack)你 = 程序现在问题来了:谁来决定「一个茶杯能不能扔」?语言决策者风格你的心态Go🏠 房东(GC)“我定期来收垃圾,你安心喝茶”😌 放心摸鱼,偶尔被停顿吓一跳Rust🧹 管家(编译器)“茶杯只能有 1 个主人,借出要登记,还回来才能扔”😅 写代码像填表格,但运行时稳如老狗 🐹 G...
- 场景还原:小明刚学 Java,兴冲冲写了个 Dog 类,再继承出 Husky 并 override bark() 方法:class Husky extends Dog { @Override void bark() { System.out.println("嗷呜~拆家时间到!"); }}他转头用 Go 实现,敲下:type Husky struct { Dog }func (h Husk... 场景还原:小明刚学 Java,兴冲冲写了个 Dog 类,再继承出 Husky 并 override bark() 方法:class Husky extends Dog { @Override void bark() { System.out.println("嗷呜~拆家时间到!"); }}他转头用 Go 实现,敲下:type Husky struct { Dog }func (h Husk...
- “我赋值 nil,却被告知:你非空。”—— 某位凌晨三点 debug 的 Go 工程师真言你写过这样的代码吗?var b *bytes.Buffervar r io.Reader = bif r == nil { fmt.Println("✅ 安全")} else { fmt.Println("❌ 危险!")}// 输出:❌ 危险!🤯 ???b 是 nil,r = b,结果 r... “我赋值 nil,却被告知:你非空。”—— 某位凌晨三点 debug 的 Go 工程师真言你写过这样的代码吗?var b *bytes.Buffervar r io.Reader = bif r == nil { fmt.Println("✅ 安全")} else { fmt.Println("❌ 危险!")}// 输出:❌ 危险!🤯 ???b 是 nil,r = b,结果 r...
- 🔍 一、老问题:高性能 vs 可控性,鱼与熊掌不可兼得?在 Go 1.26 之前,我们只有两个选择:方法示例优点缺点net.DialTCP(...)net.DialTCP("tcp", nil, addr)✅ 零解析开销:• 跳过 DNS 解析• 跳过协议分发❌ 不支持 context.Context→ 无法超时/取消,服务不可用时会卡死dialer.DialContext(ctx, "... 🔍 一、老问题:高性能 vs 可控性,鱼与熊掌不可兼得?在 Go 1.26 之前,我们只有两个选择:方法示例优点缺点net.DialTCP(...)net.DialTCP("tcp", nil, addr)✅ 零解析开销:• 跳过 DNS 解析• 跳过协议分发❌ 不支持 context.Context→ 无法超时/取消,服务不可用时会卡死dialer.DialContext(ctx, "...
- “Go 看似简单,但魔鬼藏在细节里。”Go 以“简洁、明确、可预测”著称,但即使是经验丰富的开发者,也可能在某些边界场景中踩坑。本文从 Harrison Cramer 的经典文章出发,精选 8 个易被忽视却极具实战价值的 Go 语言细节,帮助你写出更健壮、更地道的 Go 代码。 1. 直接遍历整数(Go 1.22+)从 Go 1.22 起,range 支持直接遍历整数,无需再写 for i ... “Go 看似简单,但魔鬼藏在细节里。”Go 以“简洁、明确、可预测”著称,但即使是经验丰富的开发者,也可能在某些边界场景中踩坑。本文从 Harrison Cramer 的经典文章出发,精选 8 个易被忽视却极具实战价值的 Go 语言细节,帮助你写出更健壮、更地道的 Go 代码。 1. 直接遍历整数(Go 1.22+)从 Go 1.22 起,range 支持直接遍历整数,无需再写 for i ...
- “调试的难度是写代码的两倍。所以,如果你写代码时用尽了聪明才智,那你怎么 debug?”—— Brian W. Kernighan(简称 BK,debug 界的鲁迅) 一、Bug 的三大门派:复制型、薛定谔型、并发型在 Go 世界,bug 分三类,像武侠小说里的门派:Bug 类型门派名特点应对姿势可复现型少林派一拳打过去,它必倒log.Printf + DelveHeisenbug武当派你一... “调试的难度是写代码的两倍。所以,如果你写代码时用尽了聪明才智,那你怎么 debug?”—— Brian W. Kernighan(简称 BK,debug 界的鲁迅) 一、Bug 的三大门派:复制型、薛定谔型、并发型在 Go 世界,bug 分三类,像武侠小说里的门派:Bug 类型门派名特点应对姿势可复现型少林派一拳打过去,它必倒log.Printf + DelveHeisenbug武当派你一...
- 1 简介通用 Goroutine 执行框架,本文将举例实现一个示例,并说明 在不同业务场景下如何使用和裁剪它。本文这个框架的设计目标是: 统一并发执行 + 统一错误判断 + 可取消 + 可扩展 2 通用 Goroutine 执行框架(核心版)1 设计目标✔ 支持多个 goroutine 并发执行✔ 统一收集错误✔ 支持 context 超时 / 取消✔ 可限制并发数✔ 易扩展(结果、... 1 简介通用 Goroutine 执行框架,本文将举例实现一个示例,并说明 在不同业务场景下如何使用和裁剪它。本文这个框架的设计目标是: 统一并发执行 + 统一错误判断 + 可取消 + 可扩展 2 通用 Goroutine 执行框架(核心版)1 设计目标✔ 支持多个 goroutine 并发执行✔ 统一收集错误✔ 支持 context 超时 / 取消✔ 可限制并发数✔ 易扩展(结果、...
- 1 背景简介工作业务时常有并发任务执行并且需要检查执行结果。协程(goroutine)执行完任务后判断其业务是否“正确”,本质上涉及 结果传递、错误传播、并发控制、可观测性 四个方面。本文按常见 → 进阶 → 工程化系统说明可用的技术方法,并给出示例。 2 最常用方法channel通过 channel 返回结果 + 错误(推荐)核心思想:协程goroutine 不“自己判断成功与否”,而是... 1 背景简介工作业务时常有并发任务执行并且需要检查执行结果。协程(goroutine)执行完任务后判断其业务是否“正确”,本质上涉及 结果传递、错误传播、并发控制、可观测性 四个方面。本文按常见 → 进阶 → 工程化系统说明可用的技术方法,并给出示例。 2 最常用方法channel通过 channel 返回结果 + 错误(推荐)核心思想:协程goroutine 不“自己判断成功与否”,而是...
- 1 简介如何评价这种 heartbeat 方式(优缺点)这个实现里潜在的问题与改进点。并发场景下如何“正确”扩展(重点)推荐的工程级模式(可直接用) 2 heartbeat 机制优缺点优点(为什么常用)与 context 解耦职责 context → 控制 是否该退出 heartbeat → 监控 是否还在健康运行这是 Go 里非常标准的分层设计。可检测“卡死/阻塞” gorou... 1 简介如何评价这种 heartbeat 方式(优缺点)这个实现里潜在的问题与改进点。并发场景下如何“正确”扩展(重点)推荐的工程级模式(可直接用) 2 heartbeat 机制优缺点优点(为什么常用)与 context 解耦职责 context → 控制 是否该退出 heartbeat → 监控 是否还在健康运行这是 Go 里非常标准的分层设计。可检测“卡死/阻塞” gorou...
- 1 背景简介在密码学Q领域,国密算法 SM4 是国内自主研发的分组对称加密 四算法,凭借 128 位分组长度、128 位密钥长度的设计,在金融、政务、物联网等领域广泛应用。但分组密码本身仅能处理固定长度(SM4 为 128 位)的明文数据,而现实中需要加密的文件、数据流、存诸块等往往是任意长度的。为解决这一问题,“工作模式”应运而生 – 它相当于分组密码的“应用框架”,定义了如何将固定长度... 1 背景简介在密码学Q领域,国密算法 SM4 是国内自主研发的分组对称加密 四算法,凭借 128 位分组长度、128 位密钥长度的设计,在金融、政务、物联网等领域广泛应用。但分组密码本身仅能处理固定长度(SM4 为 128 位)的明文数据,而现实中需要加密的文件、数据流、存诸块等往往是任意长度的。为解决这一问题,“工作模式”应运而生 – 它相当于分组密码的“应用框架”,定义了如何将固定长度...
上滑加载中
推荐直播
-
昇腾AI算法挑战赛-核心算子如何优化?专家带你深度解析2025/11/17 周一 16:00-17:00
王老师 华为算子专家
昇腾AI算法挑战赛进阶赛战鼓催征!本期直播间,我们特邀华为算子专家王老师,为你深度剖析Matmul、wholereducesum等核心算子的底层原理与优化技巧,直击赛题核心。想提升代码效率、冲击更高排名?锁定直播,带你破局!
回顾中 -
AI编码实干派,“码”力全开2026/02/26 周四 15:00-16:30
谈宗玮/于邦旭/丁俊卿/陈云亮/王一男
【中国,深圳,2026年2月26日】,以“AI编码实干派,码力全开”为主题的华为云码道(CodeArts)代码智能体新春发布会在线上成功召开。华为云码道公测版正式发布,为开发者和企业提供具备工程化能力的智能编码解决方案。
回顾中 -
华为云码道-玩转OpenClaw,开启在线养虾模式2026/03/11 周三 19:00-20:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中
热门标签