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

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

Go 语言的 time 包提供了确定和查看时间的功能。在 Go 语言中,UnmarshalBinary() 函数是用来实现 encoding.BinaryUnmarshaler 接口的。此外,该函数是在 time 包中定义的。在使用这些函数之前,您需要导入“time”包。

语法:

func (t *Time) UnmarshalBinary(data []byte) error

在这里,“t”是所述时间的指针,“data”是解码由 MarshalBinary() 方法生成的形式的字节切片。

返回值: 它解码了由 MarshalBinary() 方法返回的形式,并返回发生的错误,但如果没有错误,则返回“nil”。

示例 1:

// Golang 程序演示了 Time.UnmarshalBinary() 函数的用法
  
// 包含主包
package main
  
// 导入 fmt 和 time 包
import "fmt"
import "time"
  
// 调用主函数
func main() {
  
    // 为 MarshalBinary 方法定义 t
    t := time.Date(2003, 4, 6, 12, 34, 33, 0, time.UTC)
  
    // 调用 MarshalBinary() 方法
    encoding, _ := t.MarshalBinary()
  
    // 为 UnmarshalBinary() 方法定义 tm
    var tm time.Time
  
    // 带参数调用 GobDecode 方法
    decode := tm.UnmarshalBinary(encoding)
  
    // 打印输出
    fmt.Printf("Error: %v\n", decode)
} 

输出:

Error: <nil>

示例 2:

// Golang 程序演示了 Time.UnmarshalBinary() 函数的用法
  
// 包含主包
package main
  
// 导入 fmt 和 time 包
import "fmt"
import "time"
  
// 调用主函数
func main() {
  
    // 为 MarshalBinary 方法定义 t
    t := time.Date(2020, 56, 76, 43, 99, 101, 3444, time.UTC)
  
    // 调用 MarshalBinary() 方法
    encoding, _ := t.MarshalBinary()
  
    // 为 UnmarshalBinary() 方法定义 tm
    var tm time.Time
  
    // 带参数调用 GobDecode 方法
    decode := tm.UnmarshalBinary(encoding)
  
    // 打印输出
    fmt.Printf("Error: %v\n", decode)
} 

输出:

Error: <nil>

在这里,以上代码中所述的“t”的值处于正常范围之外,但在转换时进行了归一化处理。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程