time.duation的类型

qing123 · 2023-09-03 20:57:32 · 1651 次点击 · 预计阅读时间不到 1 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2023-09-03 20:57:32 的文章,其中的信息可能已经有所发展或是发生改变。

请教一下大佬们,我在使用time.Druation()的时候,遇到了如下问题: 1.为什么xxx这个变量是net/http.http2prefaceTimeout (10000000000),而ccc这个变量就是正常的30s 2.有一个项目中,使用类似于xxx这样的变量传入到接受time.Druation()变量的结构体时候,它不是真正的time.Druation()

image.png


有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1651 次点击  
加入收藏 微博
1 回复  |  直到 2023-09-04 11:00:41
zzustu
zzustu · #1 · 2年之前

我很早之前也发现了这个问题,以下纯属个人推测猜测,仅供参考(有懂的大佬可以科普一下):

这个应该是 JB 家 IDE 调试 Go 程序的一个现象,调试程序拿到参数的值后都会查找程序中的常量,可能是为了方便开发者。

你定义的 xxx 正好和 http.http2prefaceTimeout 值一样,而 ccc 程序中并未定义 30s 的常量。

http2prefaceTimeout 的常量 https://github.com/golang/go/blob/53739590571e66cbace8a6b388a79901cfb8fc3a/src/net/http/h2_bundle.go#L3868

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传