package main import "fmt" func check(Error error) { if Error != nil { panic(Error) } } func checkLog(Error error) { if Error != nil { fmt.Println("error:", Error) } } func checkValid(something any) bool { if something == nil { return false } return true } func setDefault(variable *map[string]interface{}, Type string) { switch Type { case "color": (*variable)[Type] = "000000" default: panic(fmt.Sprint("\"", Type, "\" isn't a type!")) } } func checkUserDataValid(userdata map[string]interface{}) { //required for _, data := range []string{"username"} { if !checkValid(userdata[data]) { panic(fmt.Sprint("\"", data, "\" isn't defined in userdata:\n\t", userdata)) } } //optional for _, data := range []string{"color"} { if !checkValid(userdata[data]) { fmt.Printf("WARNING: \"%s\" isn't defined in userdata:\n\t%s\n\tgonna use default variable for that\n", data, userdata) setDefault(&userdata, data) } } }