Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Meluluskan Berbilang Pembolehubah ke Fungsi Sprintf Menggunakan Slice?
Isu:
Bagi mereka yang memilih kemudahan, menghantar berbilang pembolehubah kepada fungsi Sprintf boleh membosankan. Semasa cuba berbuat demikian dengan sekeping rentetan, ralat seperti "tidak boleh menggunakan v (taip []rentetan) sebagai jenis []antara muka {} dalam hujah ke fmt.Printf" mungkin timbul.
Penyelesaian:
Untuk menyelesaikan isu ini, isytiharkan kepingan anda sebagai []antara muka{}, menjajarkannya dengan jenis hujah yang dijangkakan oleh Sprintf. Tandatangan Sprintf menyatakan:
<code class="go">func Printf(format string, a ...interface{}) (n int, err error)</code>
Pelaksanaan:
<code class="go">s := []interface{}{"a", "b", "c", "d"} fmt.Printf("%5s %4s %3s\n", s[1], s[2], s[3]) v := s[1:] fmt.Printf("%5s %4s %3s\n", v...)</code>
Penjelasan:
Output:
b c d b c d
Nota Tambahan:
Jika anda memerlukan lebih daripada 10 parameter, cuma laraskan bilangan elemen dalam kepingan mengikut keperluan. Penyelesaiannya tetap sama.
Atas ialah kandungan terperinci Bagaimana untuk Meluluskan Berbilang Pembolehubah ke Fungsi Sprintf Menggunakan Slice?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!