我正在阅读该程序包的代码,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的作者这样写
FFIVE
相关分类