当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Golang time.Time.MarshalBinary()用法及代码示例


在Go语言中,时间包提供了确定和查看时间的函数。 Go语言中的MarshalBinary()函数用于实现encoding.BinaryMarshaler接口。此外,此函数在时间包下定义。在这里,您需要导入“time”软件包才能使用这些函数。

用法:

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

在此,“t”是指定的时间,在此方法中,将返回“byte”和“error”类型的两个值作为输出。

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

范例1:



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

输出:

Receiver's encoding:[1 0 0 0 14 178 11 105 244 0 0 0 5 255 255]
Error occurred:nil

范例2:

// Golang program to illustrate the usage of 
// Time.MarshalBinary() function 
  
// Including main package 
package main 
  
// Importing fmt and time 
import "fmt"
import "time"
  
// Calling main 
func main() { 
  
    // Defining t for MarshalBinary method 
    t:= time.Date(2021, 45, 56, 34, 76, 92, 66565, time.UTC) 
  
    // Calling MarshalBinary() method 
    encoding, error:= t.MarshalBinary() 
  
    // Prints receiver's encoding 
    fmt.Printf("Receiver's encoding:%v\n", encoding) 
  
    // Prints error 
    fmt.Printf("Error occurred:%v\n", error) 
}

输出:

Receiver's encoding:[1 0 0 0 14 222 176 24 76 0 1 4 5 255 255]
Error occurred:nil

此处,以上代码中说明的“t”的值在通常范围之外,但在转换时已标准化。




相关用法


注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 time.Time.MarshalBinary() Function in Golang with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。