package main import ( "fmt" "runtime" "strings" ) func hello_world(s string) { pc, _, _, _ := runtime.Caller(0) fn := runtime.FuncForPC(pc) funcName := strings.Split(fn.Name(), ".")[1] words := strings.Split(funcName, "_") for i := range words { words[i] = strings.Title(words[i]) } message := strings.Join(words, ", ") + "!!" funcs := map[string]func(...interface{})(int, error) { "println": fmt.Println, "print": fmt.Print, } MrBeast := funcs[strings.ToLower(s)+"ln"] MrBeast(message) } func main() { hello_world("print") }