博客
关于我
Go语言如何判断是否是零值
阅读量:430 次
发布时间:2019-03-06

本文共 629 字,大约阅读时间需要 2 分钟。

通过封装IsZeroOfUnderlyingType方法判断,代码如下

package mainimport (	"fmt"	"reflect")type Person struct {	Name string	Age  int}func IsZeroOfUnderlyingType(x interface{}) bool {	return reflect.DeepEqual(x, reflect.Zero(reflect.TypeOf(x)).Interface())}func main() {	var person Person //定义一个零值	fmt.Println(IsZeroOfUnderlyingType(person)) //零值结构体,输出true	person.Name = "chenqiognhe"                 //结构体属性Name赋值	fmt.Println(IsZeroOfUnderlyingType(person)) //输出false	fmt.Println(IsZeroOfUnderlyingType(person.Age)) //Age仍是零值,输出true	person.Age = 18                                 //Age赋值	fmt.Println(IsZeroOfUnderlyingType(person.Age)) //输出false}

转载地址:http://uwlkz.baihongyu.com/

你可能感兴趣的文章
MySql二进制日志的应用及恢復
查看>>
mysql互换表中两列数据方法
查看>>
mysql五补充部分:SQL逻辑查询语句执行顺序
查看>>
mysql交互式连接&非交互式连接
查看>>
MySQL什么情况下会导致索引失效
查看>>
Mysql什么时候建索引
查看>>
MySql从入门到精通
查看>>
MYSQL从入门到精通(一)
查看>>
MYSQL从入门到精通(二)
查看>>
mysql以下日期函数正确的_mysql 日期函数
查看>>
mysql以服务方式运行
查看>>