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