Sto leggendo il codice del pacchetto time
, quindi desidero sapere come funziona lo func After(d Duration) <-chan Time
.Che cosa significa una funzione senza corpo?
ho trovato il codice segue:
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
}
così ho trovato la definizione di startTimer
- E 'così strano che la funzione startTimer
non dispone di un corpo della funzione.
func startTimer(*runtimeTimer)
Voglio sapere che:
- Dove è il vero codice di
startTimer
- Perché un barattolo "metodo astratto" esiste qui
- Perché l'autore di Go ha scritto in questo modo
Grazie!
@CheneyEah, vedere [questo thread] (http: //groups.google.com/group/golang-nuts/browse_thread/thread/134e72302b9a3441/d44169a540437357) per maggiori informazioni sui file '.goc'. – kostix
startTimer() la funzione declratioin link è rotta –