我在 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 關注
- 269 瀏覽
添加回答
舉報
0/150
提交
取消