Golang で func() の引数を可変で扱うサンプル

sample("引数1") でも呼び出せるし、
sample("引数1", "引数2", "引数3") でも呼び出せるような、
引数が可変になっている関数を作る。

func(v ...t)

  • 可変の引数は最後尾に記述
  • 可変の引数に渡された値は配列 (スライス) として扱う
import "fmt"

func sample(value string, s ...string) {
	fmt.Printf(value)
	fmt.Print(s)
	for _, str := range s {
		fmt.Printf(str)
	}
}

func main() {
	sample("test1")// test1 []
	sample("test2", "a")// test2 [a] a
	sample("test3", "a", "b", "c")// test3 [a, b, c] abc
}

関連投稿

カテゴリー:Go