goprintf/main.go

22 lines
335 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 {
printfs[i] = v
}
}
fmt.Printf(format, printfs...)
}