Golang time.Time.MarshalBinary() 函数及示例

Golang time.Time.MarshalBinary() 函数及示例

Go 语言中, time 包提供了日期和时间的功能。在 Go 语言中, MarshalBinary() 函数用于实现 encoding.BinaryMarshaler 接口。此外,此函数是在 time 包中定义的。在此,您需要导入 “time” 包以使用这些函数。

语法:

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

在这里,”t” 是所述时间,并以此方法返回两个类型为 “byte” 和 “error” 的值作为输出。

返回值: 它返回表示接收器编码为二进制形式的字节片,如果发生错误,则返回错误,但如果没有错误,则返回 “nil”。

示例1:

// Golang 程序,用于说明 Time.MarshalBinary() 函数的用法

// 包含主要包
package main

// 导入 fmt 和 time
import "fmt"
import "time"

// 调用主要函数
func main() {

    // 为 MarshalBinary 方法定义 t
    t := time.Date(2001, 2, 1, 14, 30, 12, 05, time.UTC)

    // 调用 MarshalBinary() 方法
    encoding, error := t.MarshalBinary()

    // 打印接收器的编码
    fmt.Printf("Receiver's encoding: %v\n", encoding)

    // 打印错误
    fmt.Printf("Error occurred: %v\n", error)
} 

输出:

接收器的编码:[1 0 0 0 14 178 11 105 244 0 0 0 5 255 255]
发生的错误:nil

示例2:

// Golang 程序,用于说明 Time.MarshalBinary() 函数的用法

// 包含主要包
package main

// 导入 fmt 和 time
import "fmt"
import "time"

// 调用主要函数
func main() {

    // 为 MarshalBinary 方法定义 t
    t := time.Date(2021, 45, 56, 34, 76, 92, 66565, time.UTC)

    // 调用 MarshalBinary() 方法
    encoding, error := t.MarshalBinary()

    // 打印接收器的编码
    fmt.Printf("Receiver's encoding: %v\n", encoding)

    // 打印错误
    fmt.Printf("Error occurred: %v\n", error)
} 

输出:

接收器的编码:[1 0 0 0 14 222 176 24 76 0 1 4 5 255 255]
发生的错误:nil

在此,上述代码中所列的 “t” 具有超出通常范围的值,但在转换时它们被规范化。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程