In der Go-Sprache bieten Zeitpakete Funktionen zum Bestimmen und Anzeigen von Zeiten. Die MarshalText()- Funktion in der Go-Sprache wird verwendet, um die encoding.TextMarshaler -Schnittstelle zu implementieren. Und die Zeit hier ist im RFC 3339-Format formatiert, zusammen mit der angehängten Genauigkeit von weniger als einer Sekunde, falls verfügbar. Außerdem ist diese Funktion unter dem Zeitpaket definiert. Hier müssen Sie das Paket „Zeit“ importieren, um diese Funktionen nutzen zu können.

Syntax:

func (t Time) MarshalText() ([]byte, error)

Dabei ist „t“ die angegebene Zeit und als Ausgabe in dieser Methode werden zwei Werte vom Typ „byte“ und „error“ zurückgegeben.

Rückgabewert: Es gibt ein Byte-Slice zurück, das die Codierung des Empfängers in UTF-8-codierten Text darstellt, und es gibt auch einen aufgetretenen Fehler zurück, aber wenn es keine Fehler gibt, wird „nil“ zurückgegeben.

Beispiel 1:

// Golang program to illustrate the usage of
// Time.MarshalText() function
  
// Including main package
package main
  
// Importing fmt and time
import "fmt"
import "time"
  
// Calling main
func main() {
  
    // Defining t for MarshalText method
    t := time.Date(2001, 3, 6, 11, 45, 12, 03, time.UTC)
  
    // Calling MarshalText() method
    encoding, error := t.MarshalText()
  
    // Prints receiver's encoding
    fmt.Printf("Receiver's encoding: %v\n", encoding)
  
    // Prints error
    fmt.Printf("Error occurred: %v\n", error)
}

Ausgabe:

Codierung des Empfängers: [50 48 48 49 45 48 51 45 48 54 84 49 49 58 52 53 58 49 50 46 48 48 48 48 48 48 48 48 51 90]
Fehler aufgetreten: <nil>

Beispiel 2:

// Golang program to illustrate the usage of
// Time.MarshalText() function
  
// Including main package
package main
  
// Importing fmt and time
import "fmt"
import "time"
  
// Calling main
func main() {
  
    // Defining t for MarshalText method
    t := time.Date(2022, 67, 45, 89, 78, 90, 4353, time.UTC)
  
    // Calling MarshalText() method
    encoding, error := t.MarshalText()
  
    // Prints receiver's encoding
    fmt.Printf("Receiver's encoding: %v\n", encoding)
  
    // Prints error
    fmt.Printf("Error occurred: %v\n", error)
}

Ausgabe:

Codierung des Empfängers: [50 48 50 55 45 48 56 45 49 55 84 49 56 58 49 57 58 51 48 46 48 48 48 48 48 52 51 53 51 90]
Fehler aufgetreten: <nil>

Hier hat das im obigen Code angegebene „t“ Werte, die außerhalb des üblichen Bereichs liegen, aber bei der Konvertierung normalisiert werden.