web-dev-qa-db-ja.com

Golangの別の関数の引数として可変長引数を渡す方法は?

Goで可変長引数を渡す方法は?たとえば、私は電話したい

func MyPrint(format string, args ...interface{}) {
  fmt.Printf("[MY PREFIX] " + format, ???)
}

// to be called as: MyPrint("yay %d", 213) 
//              or  MyPrint("yay")
//              or  MyPrint("yay %d %d",123,234)
50
Kokizzu

ああ、それを見つけました...可変長引数を受け入れる関数は可変長関数と呼ばれます。例:

package main

import "fmt"

func MyPrint(format string, args ...interface{}) {
  fmt.Printf("[MY PREFIX] " + format, args...)
}

func main() {
 MyPrint("yay %d %d\n",123,234);
 MyPrint("yay %d\n ",123);
 MyPrint("yay %d\n");
}
84
Kokizzu