Ich lerne gerade, und ich vermisse setTimeout
von Nodejs in Golang. Ich habe noch nicht viel gelesen, und ich frage mich, ob ich dasselbe wie ein Intervall oder eine Loopback implementieren könnte.Was ist die nodejs setTimeout-Entsprechung in Golang?
Gibt es eine Möglichkeit, dass ich dies von Knoten zu Golang schreiben kann? Ich habe gehört, dass Golang sehr gut mit Nebenläufigkeit umgehen kann, und das könnten einige Goroutines sein oder sonst?
//Nodejs
function main() {
//Do something
setTimeout(main, 3000)
console.log('Server is listening to 1337')
}
Vielen Dank im Voraus!
//Go version
func main() {
for t := range time.Tick(3*time.Second) {
fmt.Printf("working %s \n", t)
}
//basically this will not execute..
fmt.Printf("will be called 1st")
}
dank laufen. Ich arbeite dein Beispiel aus. und ich kann es nicht richtig verstehen. Mein Programm wird beendet und nicht wiederholt. Ich muss eine fortlaufende Schleife machen und nicht blockieren. wie ich eine Web-Seite mit Netzwerk-Statistiken, während Sie durch eine Liste von Servern im Hintergrund für Statistiken. Ich denke, ich muss mehr lesen. – Hokutosei
Ihr Programm wird beendet, wenn die 'main'-Funktion abgeschlossen ist, so dass möglicherweise etwas schief geht. Wenn Sie möchten, dass das Programm periodisch etwas Arbeit macht, benutzen Sie einfach eine 'for {...}' - Schleife mit einem 'time.Sleep'-Aufruf am Ende oder alternativ' für t: = range time.Tick (3 * time .Zweite) {...} '. –
Ich habe es. aber das wird natürlich nicht das sein was ich machen wollte. Wie auch immer, ich habe die Idee, obwohl mir einige noch nicht klar sind (wie nicht-blockierendes Zeug), ich bin daran gewöhnt, was Nodejs mich genervt hat. Vielen Dank für Ihre Hilfe: D Ich lese mehr – Hokutosei