2016-05-31 1 views
-2

ネットパッケージにd.deadline(time.Now())が多かった。名前から、私はちょうどそれがネットワーク通信で意味がない今締め切りを設定したと思います。それでゴールンの目的の期限は(time.Now())は何ですか?golangの目的の期限(time.Now())は何ですか?

+0

あなたが見たファイルの名前を入力できますか? –

+0

特定のコードを覚えていますか? –

+1

すでにソースを読んでいたら、同じファイル内の実際のメソッド定義を見てみてはいかがですか?また、「見た」とはどういう意味ですか?その呼び出しはソース(テストの外)で一度しか現れず、 'd.deadline(ctx、time.Now())'に置き換えられました。 – JimB

答えて

4

これはあなたが参照している関数です(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 } 
関連する問題