Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mengulang Pembolehubah dalam fmt.Sprintf Go Menggunakan Indeks Argumen?
Dalam penggunaan fmt.Sprintf() konvensional, pembolehubah digantikan secara berurutan ke dalam rentetan yang diformatkan. Walau bagaimanapun, adalah boleh dilakukan untuk mereplikasi pembolehubah tunggal di seluruh rentetan.
Menggunakan indeks argumen eksplisit, rentetan format boleh diubah suai untuk merujuk berbilang argumen yang sama times:
val := "foo" s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)
Notasi %[n] sebelum kata kerja pemformatan menentukan indeks hujah yang akan digunakan. Dalam kes ini, %[1] menunjukkan bahawa argumen pertama (val) harus digunakan untuk semua kejadian pemegang tempat.
Melaksanakan Sprintf yang diubah suai:
fmt.Println(s)
Menghasilkan:
foo in foo is foo
Secara berkesan, setiap tempat letak pembolehubah dalam rentetan digantikan dengan nilai val, menghasilkan replikasi yang diingini.
Untuk senario khusus di mana hujah pertama harus digunakan secara konsisten, indeks %[1] boleh ditinggalkan:
fmt.Sprintf("%v in %[1]v is %[1]v", "foo")
Sintaks yang disingkatkan ini memudahkan rentetan pemformatan sambil masih mencapai replikasi yang sama kefungsian.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulang Pembolehubah dalam fmt.Sprintf Go Menggunakan Indeks Argumen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!