diff --git a/library/taginterceptor/cryptoTagInterceptor.go b/library/taginterceptor/cryptoTagInterceptor.go index 37367921..5c843067 100644 --- a/library/taginterceptor/cryptoTagInterceptor.go +++ b/library/taginterceptor/cryptoTagInterceptor.go @@ -40,14 +40,14 @@ func (interceptor *CryptoTagInterceptor) Intercept(p any, tags ...string) (err e //开始遍历标签 for interceptor.cryptoEleQueue.Len() != 0 { ele := interceptor.cryptoEleQueue.Remove(interceptor.cryptoEleQueue.Front()) + if ele == nil { + continue + } cryptoElement, ok := ele.(*CryptoElement) if !ok { logger.Error("crypto element assertion failed, element is: %v, type is: %v", ele, reflect.TypeOf(ele).String()) continue } - if cryptoElement == nil { - continue - } if cryptoElement.eleType == StructPtr { // *struct if err = interceptor.parse(cryptoElement.eleValue.Interface(), tags...); err != nil {