タイプ ...interface{} の可変数の引数を受け入れるメソッドがある状況を考えてみましょう。 。このスライスの先頭に文字列を追加する場合、append() を直接使用すると問題が発生する可能性があります。
そのような場合、標準の append() 関数は最初の引数がスライスであり、後続の引数が型に一致することを期待します。スライス内の要素の要素:
func append(slice []Type, elems ...Type) []Type
この問題に対処するには、初期文字列のラッパー []interface{} を作成し、append() を使用して、文字列と可変個引数スライス:
s := "initial string" rest := []interface{}{"element 1", "element 2"} all := append([]interface{}{s}, rest...) fmt.Println(all)
出力:
[initial string element 1 element 2]
文字列を []interface{} としてラップすることで、append() の予期される型と一致することを保証します。これにより、可変長スライスの先頭に正常に追加できるようになります。
以上がGoでインターフェイスの可変個引数スライスの先頭に文字列を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。