net/http库中request.RemoteAddr的值不确定性-【Golang踩坑笔记】

环境信息:

  • Go 1.20
  • Windows 11 x64

代码示例

Go 复制代码
// 这里的r是框架传入的request,其中封装了net/http下的request.go中的Request
fmt.Println("r.RemoteAddr:", r.RemoteAddr)  // 本地执行时,该值可能是[::1]:port也可能是127.0.0.1:port

当在本地测试请求时,他的返回结果可能是::1:port也可能是127.0.0.1:port。期间热重载或重启程序也可能会改变他的值

时间有限测试的情况不多但它确实是不确定的,并且这不是一个BUG。 官方的回复表示这是按预期工作的

一般我踩坑笔记都不会发文章,但这个设定我个人认为有些不合理,可能是我接触的包比较少,对于这种情况,是否需要对两种相同意义但是不同内容的值做判定。

相关推荐
xqqxqxxq11 小时前
LeetCode Hot100 双指针专项题解笔记
笔记·算法·leetcode
懿路向前12 小时前
【HarmonyOS学习笔记】2026-07-24 | textProcessing 实体识别与踩坑实录
笔记·学习·边缘计算·harmonyos
春生野草12 小时前
C基础--八大排序(个人笔记)
c语言·笔记·排序算法
Wang's Blog12 小时前
Go-Zero项目开发17: IM私聊功能实现与消息存储设计
开发语言·后端·golang
caimouse13 小时前
MM 学习笔记 09:进程会话与工作集
笔记·学习·reactos
星恒随风13 小时前
C++ 继承进阶:默认成员函数、多继承、虚继承与组合设计
开发语言·c++·笔记·学习
foo1st13 小时前
MySQL 8.0(Windows)升级笔记
数据库·笔记·mysql
程序员爱钓鱼13 小时前
第一个 Go 程序:Hello World
前端·后端·go
名字还没想好☜14 小时前
Go 的 select 实战:超时、非阻塞收发与优雅退出的三个套路
开发语言·数据库·golang·go·并发
caimouse14 小时前
MM 学习笔记 10:页面文件与系统加载器
笔记·学习·reactos