Pertimbangkan situasi di mana anda mempunyai kaedah yang menerima pembolehubah bilangan argumen jenis ...antara muka{} . Untuk menambah rentetan pada keratan ini, anda mungkin menghadapi masalah dengan menggunakan append() secara langsung.
Dalam kes sedemikian, fungsi append() standard menjangkakan argumen pertama menjadi kepingan dan argumen seterusnya sepadan dengan jenis daripada elemen dalam kepingan:
func append(slice []Type, elems ...Type) []Type
Untuk menangani isu ini, anda boleh mencipta []antara muka{} pembalut untuk rentetan awal anda dan kemudian gunakan append() untuk menggabungkan rentetan dan kepingan variadic:
s := "initial string" rest := []interface{}{"element 1", "element 2"} all := append([]interface{}{s}, rest...) fmt.Println(all)
Output:
[initial string element 1 element 2]
Dengan membalut rentetan sebagai []antara muka{}, anda memastikan bahawa ia sepadan dengan jenis yang dijangkakan untuk append( ) dan membolehkan anda menambahkannya dengan jayanya pada kepingan variadic.
Atas ialah kandungan terperinci Bagaimana untuk Menambahkan Rentetan kepada Slice Variadic Antara Muka dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!