收录了go频道下的 57 篇文章
-
- Go url.JoinPath 拼接 URL 为什么会改路径:斜杠、转义和 RawPath 边界
- Go 的 url.JoinPath 会清理路径中的 ./ 和 ../,并重新处理斜杠;它适合拼接已分段的 URL 路径,但不能替代 PathEscape,也不应把整段用户输入直接当作一个路径片段。本文用文件名、RawPath 和查询参数案例讲清边界。
- Golang· Go教程 | 18小时前 | go· net/url· url· HTTP客户端· 路径转义· Go教程 url.JoinPath PathEscape RawPath URL拼接 354浏览 收藏
-
- Go context.WithCancel 后 goroutine 仍不退出怎么排查:从 done 通道到泄漏证据
- 调用 context.WithCancel 后,goroutine 仍然不退出,通常不是 cancel 失效,而是工作循环没有监听 Done 或被阻塞在不可取消的操作上。本文用最小代码复现问题,再通过 pprof、日志和退出计数定位原因,给出可回归的修复方式。
- Golang· Go教程 | 2天前 | goroutine· go· Context· Go context.WithCancel goroutine 泄漏 done 通道 334浏览 收藏
-
- Go 文件上传如何限制 multipart 请求体:MaxBytesReader 与 ParseMultipartForm 的安全边界
- Go 文件上传接口不能只依赖 ParseMultipartForm 的参数,否则超大请求仍可能先进入内存或临时文件。本文从 net/http 服务端入口开始,演示 MaxBytesReader、ParseMultipartForm 和文件级校验的组合边界,并给出超限回归检查。
- Golang· Go问答 | 2天前 | go· 文件上传· 安全· net/http· 接口设计· multipart/form-data ParseMultipartForm http.MaxBytesReader Go文件上传 请求体大小限制 275浏览 收藏
-
- Go bufio.Scanner 遇到 token too long 怎么办:大日志行的长度上限与内存取舍
- Go 用 bufio.Scanner 逐行读取日志时,遇到超长 JSON 行会返回 token too long。本文用可复现实验比较默认上限、Scanner.Buffer 和 bufio.Reader 分块读取的内存与吞吐边界,给出线上日志处理的选择方法。
- Golang· Go问答 | 2天前 | go· 性能· bufio· 日志处理· 错误排查· 分块读取 Go bufio.Scanner token too long Scanner.Buffer 大日志行 501浏览 收藏
-
- Go net/http 如何正确返回 ETag:If-None-Match 与 304 缓存协商
- Go 服务返回静态 JSON 或文章详情时,ETag 可以让浏览器先带 If-None-Match 询问资源是否变化,未变化就返回 304,减少响应体传输。本文用 net/http 写一个可运行的缓存协商示例,说明哈希生成、条件判断、响应头顺序和测试边界。
- Golang· Go教程 | 2天前 | go· 性能· net/http· HTTP缓存· Go ETag If-None-Match 304缓存 http.ResponseWriter 395浏览 收藏
-
- Claude 的 tool_use 为什么不是最终答案:tool_result 回传与循环边界
- Go 服务接入 Anthropic Messages API 的工具调用时,模型返回 tool_use 只是请求执行工具,不是最终答案。本文用天气查询工具拆解 stop_reason、tool_use_id、tool_result 的往返消息格式,并给出防止无限循环和错误回传的实现边界。
- 科技周边· 人工智能 | 2天前 | API· go· 人工智能· 工程实践· 工具调用· Go Anthropic Messages API tool_use tool_result Claude工具调用 368浏览 收藏
-
- Go 1.23 range over function 怎么迁移:把自定义集合改成可中断迭代器
- Go 1.23 为 for range 增加了函数迭代器。本文从旧版自定义遍历写法迁移到 iter.Seq,说明 yield 返回值、提前停止、iter.Pull 和 go.mod 版本边界,并给出可运行的检查代码。
- Golang· Go问答 | 2天前 | go· 迭代器· Go 1.23· Go 1.23 iter.Seq range over function 可中断迭代器 148浏览 收藏
-
- Go JSON 解析怎么减少内存分配:Decoder、RawMessage 与基准测试边界
- Go 服务处理大批量 JSON 时,直接把请求体解码成完整结构体并不总是划算。本文用订单事件示例比较 json.Unmarshal、json.Decoder 和 json.RawMessage 的分配与吞吐边界,并给出可复现的基准测试写法。
- Golang· Go教程 | 2天前 | JSON· 基准测试· go· 性能优化· 内存分配 encoding/json json.RawMessage json.Decoder Go JSON 206浏览 收藏
-
- Go JSON PATCH 如何区分字段缺失与显式 null:指针、RawMessage 与参数语义
- Go 的 PATCH 接口如果直接把请求体解码到普通结构体,字段缺失和显式 null 很容易被合并。本文用指针与 json.RawMessage 设计可验证的更新参数,说明两种方案的取舍、错误处理和兼容边界。
- Golang· Go问答 | 2天前 | JSON· go· api设计· RawMessage Go JSON PATCH 字段缺失 null 226浏览 收藏
查看更多
课程推荐
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让学生了解MySQL如何与客户端进行通信。此外,课程还将介绍如何优化MySQL的网络通信性能,包括连接池、网络压缩、SSL加密等高级技术。学生将通过实践项目,亲手
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 474次学习

