猿问

golang中的目的期限(time.Now())是什么?

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


喵喵时光机
浏览 241回答 1
1回答

开满天机

这是您所指的功能(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.Deadline72      }73      timeoutDeadline := now.Add(d.Timeout)74      if d.Deadline.IsZero() || timeoutDeadline.Before(d.Deadline) {75          return timeoutDeadline76      } else {77          return d.Deadline78      }79  }
随时随地看视频慕课网APP

相关分类

Go
我要回答