· 1.2 rc1 golang Go言語

#golang 関数の引数をオプション的に扱うには?

  • このエントリーをはてなブックマークに追加

分かりやすい言葉が思いつかなかったのすが、関数の引数をオプション的に扱うというのは、関数の引数をとってもとならなくても良いように関数を定義することです。それには<a href="http://golang.org/ref/spec#Passing_arguments_to_..._parameters" target="_blank">...</a>パラメータを使うと良さそうです。

http://play.golang.org/p/kRLQLIWkxN

ただし、<a href="http://golang.org/ref/spec#Passing_arguments_to_..._parameters" target="_blank">...</a>パラメータは、引数の最後でしか使えませんので、注意が必要です。つまり、

func f(s ...string, i int)

のようなことはできないということです。ちなみに、こうすると次のエラーがでます。

can only use ... as final argument in list
  • このエントリーをはてなブックマークに追加
  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket