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

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

Mary-Kate Olsen
リリース: 2024-12-07 12:57:12
オリジナル
589 人が閲覧しました

How to Prepend a String to a Variadic Interface{} Slice in Go?

Go の可変引数スライスに文字列を先頭に追加する

Go では、append() 関数を使用して、同じ型のスライスに要素を追加できます。ただし、 ...interface{} 型の可変引数スライスを受け入れるメソッドを扱う場合、append("some string", v) を使用して文字列を直接追加するとエラーが発生します。

正常に先頭に追加するには変数引数スライスに文字列を追加するには、interface{} 値のスライスを使用する必要があります。これは、 ...interface{} であらゆるタイプの要素が許可されるためです。これを実現するには、最初の文字列を []interface{} スライスでラップします。

func (l Log) Error(v ...interface{}) {
  stringInterface := []interface{}{" ERROR "}
  l.Out.Println(append(stringInterface, v...))
}
ログイン後にコピー

これにより、ERROR 文字列が []interface{} スライスでラップされ、変数に追加できます。引数スライス v.

これは例:

package main

import "fmt"

func main() {
  s := "first"
  rest := []interface{}{"second", 3}

  all := append([]interface{}{s}, rest...)
  fmt.Println(all)
}
ログイン後にコピー

出力:

[first second 3]
ログイン後にコピー

以上がGo で可変個引数インターフェイスのスライスの前に文字列を追加するにはどうすればよいですか?{}の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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