2017-05-02 7 views
0

は、私はそうのようにこれを呼び出すしたいと思いますgoにvariadic関数を部分的に適用することはできますか?

func foo(bars ...string) { 
    // ... 
} 

として宣言された関数を考える:

bar1 := "whiskey bar" 
rest := []string{"vodka bar", "wine bar"} 
foo(bar1, rest...) 

をしかし、これはコンパイルされませんが。このメッセージで最後の行エラー:

have (string, []string...) 
want (...[]string) 

私はそれが値がともにゼロ以上のパラメータを指定して呼び出すことができるように、可変引数関数を宣言し、値のゼロまたは1つのアレイ(でできる方法はあります終わり)?

+0

残念ながら、あなたの条件の両方を満足させる方法はありません。私が思うに、これは次のようなものです: 'foo(append([string {bar1}残り...)...) '。 – mkopriva

+1

またこれを見てください[そう答え](http://stackoverflow.com/a/28626170/965900)。 – mkopriva

+0

関連項目:[golangのカスタムライブラリでコンパイル時にエラーが発生する可能性はありますか?](http://stackoverflow.com/questions/37270743/is-it-possible-to-trigger-compile-time-error-with -custom-library-in-golang/37271129#37271129) – icza

答えて

関連する問題