Golang -Zeitdauer

Golang -Zeitdauer
Zeit ist ein sehr wichtiger Faktor für Programmierer. Es erlaubt nicht nur zu bestimmen, wie und wann eine Aktion ausgeführt wird.

Go bietet uns das Zeitpaket, um Zeit- und Datumsbezogene zu verarbeiten. In diesem Artikel werden wir behandeln, wie die Zeit zwischen zweimaligen Instanzen verstrichen ist.

Zeit.Dauer

Dauer bezieht sich auf die Zeit, die zwischen zweimaligen Objekten als Int64-Nanosekundenzahl verstrichen ist. Wenn wir die Dauer auf 1000000000 Nanosekunden einstellen, entspricht dies 1 Sekunde oder 1000 Millisekunde. Die maximale Dauer, die wir darstellen können (für INT64), beträgt 290 Jahre.

Die folgende Syntaxdefinition für die Dauer im Zeitpaket.

Typdauer int64

Die in dem Zeitpaket definierten Dauer umfassen:

const (
Nanosekundendauer = 1
Mikrosekunde = 1000 * Nanosekunde
Millisekunde = 1000 * Mikrosekunde
Zweite = 1000 * Millisekunde
Minute = 60 * Sekunde
Stunde = 60 * Minute
)

Beachten Sie, dass die obigen Werte Konstanten sind.

Im Zeitpaket können wir die folgende Funktion verwenden, um eine Dauer zurückzugeben:

Zeit.Sub ()

Die Funktionssyntax ist wie gezeigt:

func (t time) sub (u Zeit) Dauer

Gibt die Dauer t-u zurück.

Zeit.Seit()

Die Syntax für die methode von Site () ist wie gezeigt:

Func seit (t Zeit)

Diese Funktion gibt die Dauer zurück, die seit t übergeben werden.

Zeit.Bis()

Die Syntax ist wie gezeigt:

Func bis (t Zeit-) Dauer

Geben Sie die Dauer bis t zurück. Betrachten Sie es als eine Kurzform für die Zeit.Sub (Zeit.Jetzt()).

Zeit.Dauer

Diese Funktion gibt die Dauer in Nanosekunden zurück. Die Syntax ist wie gezeigt:

func (d dauer) millisekunden () int64

Beispiel

Der folgende Code zeigt, wie die Dauer berechnet wird.

Paket Main
importieren (
"fmt"
"Zeit"
)
func main ()
// Dauer festlegen
var Dauer Zeit.Dauer = 1000000000
// in Stunden
fmt.Println (Dauer.Std())
// Protokoll
fmt.Println (Dauer.Protokoll())
// Sekunden
fmt.Println (Dauer.Sekunden ())
// Millisekunden
fmt.Println (Dauer.Millisekunden ())
// Mikrosekunden
fmt.Println (Dauer.Mikrosekunden ())
// Submethode verwenden
Jetzt: = Zeit.Jetzt()
Zeit.Schlaf (1000)
Diff: = jetzt.Sub (Zeit.Jetzt())
fmt.Println ("verstrichene Sekunden:", diff.Sekunden ())

Im ersten Abschnitt des Programms erstellen wir eine Dauer und setzen sie auf 1000000000 Nanosekunden ein. Wir verwenden dann die Methoden aus dem Zeitpaket, um sie in verschiedene Formate umzuwandeln.

Im zweiten Abschnitt verwenden wir die Sub () -Methode, um den Zeitunterschied nach einem Schlafbetrieb zu berechnen.

Der obige Code sollte zurückgeben:

$ go run dauer.gehen
0.0002777777777777778
0.016666666666666666
1
1000
1000000
Verstrichen Sekunden: -0.0072517

Abschluss

Dieser Artikel führt Sie dazu, mit Dauer in der GO -Sprache zu arbeiten, wie im Zeitpaket bereitgestellt. Weitere Informationen finden Sie in der Dokumentation.