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。 官方的回复表示这是按预期工作的

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

相关推荐
Wang's Blog34 分钟前
Go-Zero框架上手前奏2: 微服务核心要素 —— 拆分、通信与无状态设计
开发语言·微服务·golang
浩瀚地学1 小时前
【面试算法笔记】0106-数组-区间和
笔记·算法·面试
疯狂打码的少年12 小时前
【软件工程】软件开发模型:增量模型与迭代模型
笔记·软件工程
Generalzy12 小时前
从本地 Demo 到生产级检索:Milvus 学习笔记(3)
笔记·学习·milvus
江华森13 小时前
Web 开发基础:HTTP 与 REST
前端·网络协议·http
凉、介14 小时前
Virtio 系列(一):框架概览
笔记·学习·嵌入式·虚拟化·virtio
Yang_jie_0315 小时前
笔记:数据结构(栈是否使用底指针以及头指针的初始化值)
数据结构·笔记·算法
一杯奶茶¥16 小时前
c语言程序设计大学期末考试考研知识点重点笔记题库复习资料C语言重点考点题库资料合集
c语言·笔记·考研·c语言程序设计·c语言笔记
依然范特东17 小时前
动手学深度学习笔记--数据操作、线性代数
人工智能·笔记·深度学习
疯狂打码的少年17 小时前
【软件工程】软件开发模型:敏捷开发(Scrum/XP)
笔记·软件工程·scrum·敏捷流程