From d9259c4f40b1f36fbb176689ff71aa7dd85a7247 Mon Sep 17 00:00:00 2001 From: huangzj Date: Fri, 24 Apr 2020 15:25:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(reflect=20tool)=EF=BC=9A=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- util/FiledValueTool.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/util/FiledValueTool.go b/util/FiledValueTool.go index 4b173a2..5ee0598 100644 --- a/util/FiledValueTool.go +++ b/util/FiledValueTool.go @@ -44,6 +44,9 @@ func GetStructFieldTypeMap(i interface{}) map[string]interface{} { * @description */ func GetPtrFieldTypeMap(i interface{}) map[string]interface{} { + if GetValueType(i) != reflect.Ptr { + panic("该方法只支持结构体指针对象") + } var m map[string]interface{} m = make(map[string]interface{}) @@ -68,6 +71,9 @@ func GetPtrFieldTypeMap(i interface{}) map[string]interface{} { * @description */ func GetStructTypeFieldNameList(t reflect.Type) []string { + if t.Kind() != reflect.Struct { + panic("该方法只支持结构体类型") + } list := make([]string, 0) for i := 0; i < t.NumField(); i++ { @@ -86,6 +92,9 @@ func GetStructTypeFieldNameList(t reflect.Type) []string { * @description */ func GetPtrTypeFieldNameList(t reflect.Type) []string { + if t.Kind() != reflect.Ptr { + panic("该方法只支持结构体指针类型") + } list := make([]string, 0) typ := t.Elem()