Хорошо, мне нужна небольшая оболочка fmt.Printf () для удобства отладки :
1 / "слишком много аргументов в вызове fmt.Fprintln":
func Debug (a ... interface{}) {
if debug {
fmt.Fprintln(out, prefix, sep, a...)
}
}
2 / "список имен недопустим в типе интерфейса":
func Debug (a ... interface{}) {
if debug {
fmt.Fprintln(out, []interface{prefix, sep, a...}...)
}
}
3 / Работает, но кажется неправильным:
func Debug (a ... interface{}) {
if debug {
sl := make ([]interface{}, len(a) + 2)
sl[0] = prefix
sl[1] = sep
for i, v := range a {
sl[2+i] = v
}
fmt.Fprintln(out, sl...)
}
}
Есть идеи для избежать выделения дополнительной памяти?