我在 net 包中看到了很多 d.deadline(time.Now()) 。从名字上看,我猜只是现在设置了deadline,在网络通信中没有任何意义。那么golang中的目的deadline(time.Now())是什么?
1 回答

开满天机
TA贡献1786条经验 获得超13个赞
这是您所指的功能(net包,文件dial.go)。因此,它返回第一个截止时间,位于截止时间设置和连接超时设置之间。
67 // Return either now+Timeout or Deadline, whichever comes first.
68 // Or zero, if neither is set.
69 func (d *Dialer) deadline(now time.Time) time.Time {
70 if d.Timeout == 0 {
71 return d.Deadline
72 }
73 timeoutDeadline := now.Add(d.Timeout)
74 if d.Deadline.IsZero() || timeoutDeadline.Before(d.Deadline) {
75 return timeoutDeadline
76 } else {
77 return d.Deadline
78 }
79 }
- 1 回答
- 0 关注
- 240 浏览
添加回答
举报
0/150
提交
取消