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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值