您的当前位置:首页正文

golang中 time.Time的零值, 如何判断time.Time是否为空

2024-11-25 来源:个人技术集锦

go语言中的Time对象默认是 普通结构体对象,而非指针类型的对象, 我们如果按照常见的方式按照指针类型判断是否为空的话就会报编译异常 invalid operation: rxxTime != nil (mismatched types time.Time and untyped nil) 

在go语言里面 time.Time 对象的默认零值是 January 1, year 1, 00:00:00.000000000 UTC

what?   这个零值也太不友好了吧!  于是go语言的开发者们就给我们提供了一个用于判断Time对象是否为0的方法   IsZero()   这下我们不用谢上面那么长的一串字符了,用这个简单的方法即可判断time.Time对象是否为空。

如: 判断createTime这个对象是否为空

    createTime:=time.Now()
	if createTime.IsZero() {
		// 时间为空
	}

go语言中其他类型的默认零值

数字类型  0 
浮点型  0.0 
布尔类型 false
字符串类型  "" 
类型 interfaces 接口, slices 切片, channels 管道, maps 映射,  pointers 指针, 和 functions 函数 的零值都是  nil

注意: 上面的这些类型的默认零值很重要,必须要知道!!!

显示全文