From c7df032a1aeffcfddff8a4d54213f22b51be7514 Mon Sep 17 00:00:00 2001 From: PopCorn Date: Tue, 11 Nov 2025 16:41:38 +0800 Subject: [PATCH] init --- go.mod | 3 +++ tools.go | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 go.mod create mode 100644 tools.go diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..2993646 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module git.whblueocean.cn/blueocean-go/utils + +go 1.25.3 diff --git a/tools.go b/tools.go new file mode 100644 index 0000000..517b43c --- /dev/null +++ b/tools.go @@ -0,0 +1,22 @@ +package utils + +import "reflect" + +func GetColumnsFromJsonTag(v interface{}) map[string]bool { + columns := make(map[string]bool) + t := reflect.TypeOf(v) + + if t.Kind() == reflect.Ptr { + t = t.Elem() + } + + for i := 0; i < t.NumField(); i++ { + field := t.Field(i) + jsonTag := field.Tag.Get("json") + if jsonTag == "" || jsonTag == "-" { + continue + } + columns[jsonTag] = true + } + return columns +}