ホームページ > バックエンド開発 > Golang > Goでインターフェイスの可変個引数スライスの先頭に文字列を追加するにはどうすればよいですか?

Goでインターフェイスの可変個引数スライスの先頭に文字列を追加するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-07 15:02:13
オリジナル
675 人が閲覧しました

How to Prepend a String to a Variadic Slice of Interfaces in Go?

インターフェイスの可変個引数スライスに文字列を付加する

タイプ ...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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート