Função time.Time.MarshalText() no Golang com exemplos
Na linguagem Go, os pacotes de tempo fornecem funcionalidade para determinar e visualizar o tempo. A função MarshalText() na linguagem Go é usada para implementar a interface encoding.TextMarshaler . E a hora aqui é formatada no formato RFC 3339 junto com a precisão de sub-segundo anexada, se disponível. Além disso, essa função é definida no pacote de tempo. Aqui, você precisa importar o pacote “time” para usar essas funções.
Sintaxe:
func (t Time) MarshalText() ([]byte, error)
Aqui, “t” é o tempo declarado e dois valores do tipo “byte” e “erro” são retornados como saída neste método.
Valor de retorno: retorna uma fatia de byte que representa a codificação do receptor em texto codificado em UTF-8 e também retorna um erro ocorrido, mas se não houver erros, "nil" será retornado.
Exemplo 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)
}
Saída:
Codificação do receptor: [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]
Ocorreu um erro: <nil>
Exemplo 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)
}
Saída:
Codificação do receptor: [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]
Ocorreu um erro: <nil>
Aqui, o “t” indicado no código acima tem valores que estão fora da faixa normal, mas são normalizados durante a conversão.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva