整理打印

This commit is contained in:
2025-09-30 01:48:54 +08:00
parent cee7898fff
commit bff7f73d8b
4 changed files with 73 additions and 15 deletions
+24
View File
@@ -0,0 +1,24 @@
package zm_lib
import (
"fmt"
"testing"
)
func TestP1(t *testing.T) {
fmt.Println("TestP1")
err := PrintArgsMap(map[string]any{
"id": []string{"1", "2", "3"},
"name": "苏通",
"data": map[string]any{
"layer": "2",
"haha": "3",
"child": map[string]any{
"layer": "2",
"haha": "3",
},
},
})
fmt.Printf("%v\n", err)
}
+29
View File
@@ -2,6 +2,8 @@ package zm_lib
import (
"errors"
"fmt"
"io"
"os"
"path/filepath"
"strings"
@@ -22,3 +24,30 @@ func GetPluginPathByWd(pluginName string) (string, error) {
}
return "", errors.New("no find plugin")
}
func PrintArgsMap(argsMap map[string]any) error {
return FprintfArgsMap(1, os.Stdout, argsMap)
}
func FprintfArgsMap(layer int, out io.Writer, argsMap map[string]any) error {
for key, arg := range argsMap {
switch value := arg.(type) {
case map[string]any:
if _, err := fmt.Fprintf(out, "%s%s: \n", strings.Repeat("- ", layer), key); err != nil {
return err
}
if err := FprintfArgsMap(layer+1, out, value); err != nil {
return err
}
case []string:
if _, err := fmt.Fprintf(out, "%s%s: [%v]\n", strings.Repeat("- ", layer), key, strings.Join(value, ",")); err != nil {
return err
}
default:
if _, err := fmt.Fprintf(out, "%s%s: %v\n", strings.Repeat("- ", layer), key, value); err != nil {
return err
}
}
}
return nil
}