そのパッケージのコードを読んでいて、time
どのように機能するのか知りたいですfunc After(d Duration) <-chan Time
。
コードは次のとおりです。
func After(d Duration) <-chan Time {
return NewTimer(d).C
}
func NewTimer(d Duration) *Timer {
c := make(chan Time, 1)
t := &Timer{
C: c,
r: runtimeTimer{
when: nano() + int64(d),
f: sendTime,
arg: c,
},
}
startTimer(&t.r)
return t
}
だから私はの定義を見つけましたstartTimer
-それはとても奇妙なので、関数startTimer
は関数本体を持っていません。
func startTimer(*runtimeTimer)
私はそれを知りたいです:
- の実際のコードはどこにありますか
startTimer
- ここに「抽象メソッド」が存在する理由
- Goの作者がこのように書いた理由
ありがとう!