在 Go 语言中,时间包提供了确定和查看时间的功能。 Go语言的GobDecode()函数用于实现gob.GobDecoder接口。而且,这个函数是在time包下定义的。在这里,您需要导入“time”包才能使用这些功能。
句法:
func (t *Time) GobDecode(data []byte) error
这里,“t”是指向指定时间的指针,“data”是覆盖由 GobEncode() 方法返回的接收器编码的字节片。
返回值:它覆盖由 GobEncode() 方法返回的接收器编码并返回发生的错误,但如果没有错误则返回“nil”。
示例 1:
// Golang program to illustrate the usage of
// Time.GobDecode() function
// Including main package
package main
// Importing fmt and time
import "fmt"
import "time"
// Calling main
func main() {
// Defining t for GobEncode method
t := time.Date(2019, 4, 6, 12, 34, 33, 0, time.UTC)
// Calling GobEncode() method
encoding, error := t.GobEncode()
// If error is not nil then panic error
if error != nil {
panic(error)
}
// Defining tm for GobDecode() method
var tm time.Time
// Calling GobDecode method with its parameters
decode := tm.GobDecode(encoding)
// Prints error
fmt.Printf("Error: %v\n", decode)
}
输出:
Error:
示例 2:
// Golang program to illustrate the usage of
// Time.GobDecode() function
// Including main package
package main
// Importing fmt and time
import "fmt"
import "time"
// Calling main
func main() {
// Defining t for GobEncode method
t := time.Date(2020, 44, 61, 37, 87, 72, 4566, time.UTC)
// Calling GobEncode() method
encoding, error := t.GobEncode()
// If error is not nil then panic error
if error != nil {
panic(error)
}
// Defining tm for GobDecode() method
var tm time.Time
// Calling GobDecode method with its parameters
decode := tm.GobDecode(encoding)
// Prints error
fmt.Printf("Error: %v\n", decode)
}
输出:
Error:
此处,上述代码中所述的“t”具有超出通常范围的值,但它们在转换时进行了标准化。