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

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

相关推荐
jiuweiC15 小时前
kafka重平衡问题-golang
分布式·golang·kafka
jdbcaaa15 小时前
Go 语言 runtime 包的使用与注意事项
开发语言·后端·golang·runtime
时代的凡人21 小时前
0208晨间笔记
笔记
今天只学一颗糖1 天前
1、《深入理解计算机系统》--计算机系统介绍
linux·笔记·学习·系统架构
王中阳Go1 天前
从夯到拉,锐评9个Go Web框架
开发语言·golang
Grassto1 天前
16 Go Module 常见问题汇总:依赖冲突、版本不生效的原因
golang·go·go module
Tony Bai1 天前
告别 Flaky Tests:Go 官方拟引入 testing/nettest,重塑内存网络测试标准
开发语言·网络·后端·golang·php
大黄说说1 天前
新手选语言不再纠结:Java、Python、Go、JavaScript 四大热门语言全景对比与学习路线建议
java·python·golang
未定义.2211 天前
第2篇:请求实战!覆盖GET/POST/请求头/参数全场景
java·python·http·servlet·自动化·jenkins