問題:
利便性を重視する場合は、複数の変数をSprintf 関数は退屈な場合があります。文字列のスライスを使用してこれを実行しようとすると、「fmt.Printf への引数で v (type []string) を type []interface {} として使用できません」のようなエラーが発生することがあります。
解決策:
この問題を解決するには、スライスを []interface{} として宣言し、Sprintf の予期される引数の型に合わせます。 Sprintf の署名は次のように指定します:
<code class="go">func Printf(format string, a ...interface{}) (n int, err error)</code>
実装:
<code class="go">s := []interface{}{"a", "b", "c", "d"} fmt.Printf("%5s %4s %3s\n", s[1], s[2], s[3]) v := s[1:] fmt.Printf("%5s %4s %3s\n", v...)</code>
説明:
出力:
b c d b c d
追加メモ:
必要な場合パラメータが 10 を超える場合は、必要に応じてスライス内の要素の数を調整するだけです。解決策は変わりません。
以上がスライスを使用して Go の Sprintf 関数に複数の変数を渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。