From 6e3d04012736748409b8ffc13b51e4d7baac932f Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Tue, 25 Feb 2025 18:40:34 +0800 Subject: [PATCH] feat: ptr util func --- internal/pkg/utils/types/types.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/internal/pkg/utils/types/types.go b/internal/pkg/utils/types/types.go index cd2b1602..f23d8e33 100644 --- a/internal/pkg/utils/types/types.go +++ b/internal/pkg/utils/types/types.go @@ -24,3 +24,29 @@ func IsNil(obj any) bool { return false } + +// 将对象转换为指针。 +// +// 入参: +// - 待转换的对象。 +// +// 出参: +// - 返回对象的指针。 +func ToPtr[T any](v T) (p *T) { + return &v +} + +// 将指针转换为对象。 +// +// 入参: +// - 待转换的指针。 +// +// 出参: +// - 返回指针指向的对象。如果指针为空,则返回对象的零值。 +func ToObj[T any](p *T) (v T) { + if p == nil { + return v + } + + return *p +}