Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menambahkan Rentetan pada Slice{} Antara Muka Variadik dalam Go?

Bagaimana untuk Menambahkan Rentetan pada Slice{} Antara Muka Variadik dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-07 12:57:12640semak imbas

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

Memasukkan Rentetan pada Slice Argumen Boleh Ubah dalam Go

Dalam Go, fungsi append() membenarkan anda menambahkan elemen pada kepingan jenis yang sama. Walau bagaimanapun, apabila berurusan dengan kaedah yang menerima kepingan hujah berubah jenis ...antara muka{}, menambahkan rentetan secara langsung menggunakan append("beberapa rentetan", v) mengakibatkan ralat.

Untuk berjaya menambah rentetan kepada kepingan hujah pembolehubah, anda perlu menggunakan kepingan nilai antara muka{}. Ini kerana ...antara muka{} membenarkan unsur apa-apa jenis. Untuk mencapai ini, anda boleh membalut rentetan awal dalam kepingan []antara muka{}:

func (l Log) Error(v ...interface{}) {
  stringInterface := []interface{}{" ERROR "}
  l.Out.Println(append(stringInterface, v...))
}

Ini membalut rentetan ERROR dalam kepingan []antara muka{}, yang kemudiannya boleh ditambah pada pembolehubah argument slice v.

Berikut ialah contoh:

package main

import "fmt"

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

  all := append([]interface{}{s}, rest...)
  fmt.Println(all)
}

Output:

[first second 3]

Atas ialah kandungan terperinci Bagaimana untuk Menambahkan Rentetan pada Slice{} Antara Muka Variadik dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn