博客
关于我
Go语言如何判断是否是零值
阅读量:422 次
发布时间: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/

你可能感兴趣的文章
神经元的传递函数
查看>>
lrzsz命令的用法
查看>>
新的开始
查看>>
继承和派生1
查看>>
七月十一日训练总结
查看>>
约瑟夫环问题
查看>>
Nim博弈与SG函数入门
查看>>
CF #716 (Div. 2) B. AND 0, Sum Big(思维+数学)
查看>>
数据结构与算法实验1——线性表的应用之顺序表
查看>>
重温冒泡排序
查看>>
阿里云数据库连接MySql
查看>>
SQLyog(MySQL图形化开发工具)
查看>>
MySQL报错记录一下10061或者非自己的IP
查看>>
純前端 - 各種實現進度條
查看>>
Java 設計模式 - 建造者模式
查看>>
ES6 JavaScript 重新認識 Promise
查看>>
前端優化 - 防抖與節流
查看>>
Spring--04--AOP增强
查看>>
2020-07-16:如何获得一个链表的倒数第n个元素?
查看>>
2020-11-04:java里,总体说一下集合框架。
查看>>