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

请教一下大佬们,我在使用time.Druation()的时候,遇到了如下问题: 1.为什么xxx这个变量是net/http.http2prefaceTimeout (10000000000),而ccc这个变量就是正常的30s 2.有一个项目中,使用类似于xxx这样的变量传入到接受time.Druation()变量的结构体时候,它不是真正的time.Druation()
有疑问加站长微信联系(非本文作者))
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
我很早之前也发现了这个问题,以下纯属个人推测猜测,仅供参考(有懂的大佬可以科普一下):
这个应该是 JB 家 IDE 调试 Go 程序的一个现象,调试程序拿到参数的值后都会查找程序中的常量,可能是为了方便开发者。
你定义的
xxx
正好和http.http2prefaceTimeout
值一样,而ccc
程序中并未定义 30s 的常量。http2prefaceTimeout 的常量 https://github.com/golang/go/blob/53739590571e66cbace8a6b388a79901cfb8fc3a/src/net/http/h2_bundle.go#L3868