1 Star 0 Fork 0

hongzhaomin/hzm-common-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
assert.go 619 Bytes
一键复制 编辑 原始数据 按行查看 历史
package assert
import (
"errors"
"reflect"
)
func IsTrue(expr bool, msg string) {
if !expr {
panic(errors.New(msg))
}
}
func IsFalse(expr bool, msg string) {
if !expr {
panic(errors.New(msg))
}
}
func NonNil(data any, msg string) {
if isNil(data) {
panic(errors.New(msg))
}
}
func isNil(a any) bool {
// 空接口判断是否为nil,必须类型和值都为nil才会返回真
// 大多数情况是:type不为nil, value为nil
// 那就需要继续判断了,使用反射判断
if a == nil {
return true
}
rv := reflect.ValueOf(a)
if !rv.IsValid() {
return true
}
return rv.IsZero()
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/hongzhaomin/hzm-common-go.git
git@gitee.com:hongzhaomin/hzm-common-go.git
hongzhaomin
hzm-common-go
hzm-common-go
7154f06f08c1

搜索帮助