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

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

相关推荐
知恒7 小时前
Go语言接口与多态
go
知恒8 小时前
Go语言变量与数据类型
go
知恒8 小时前
Go包管理与模块化
go
HokKeung9 小时前
飞书 lark-cli 如何存储 tenant_access_token 和 user_access_token
人工智能·go
止语Lab11 小时前
sync.Pool 的真正分界线不是对象大小——一次 benchmark 翻车记录
go
HokKeung11 小时前
Go 里的 IO 应该怎么管理
go
喵个咪12 小时前
Go-Wind HTTP 服务器从入门到精通
后端·http·go
喵个咪12 小时前
Go-Wind gRPC 服务器从入门到精通
后端·go·grpc
知恒13 小时前
Go环境搭建与入门
go
用户6757049885021 天前
你知道 Go 结构体和结构体指针调用的区别吗?一文带你彻底搞懂!
后端·go