25 lines
429 B
Go
25 lines
429 B
Go
package main
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
func main() {
|
|
format := os.Args[1]
|
|
args := os.Args[2:]
|
|
printfs := make([]any, len(args))
|
|
for i := range args {
|
|
var v interface{}
|
|
printfs[i] = args[i]
|
|
if err := json.Unmarshal([]byte(args[i]), &v); err != nil {
|
|
} else if _, ok := v.(map[string]any); ok {
|
|
} else if _, ok := v.([]any); ok {
|
|
} else {
|
|
printfs[i] = v
|
|
}
|
|
}
|
|
fmt.Printf(format, printfs...)
|
|
}
|