Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Saya Boleh Menggunakan Semula Parameter Yang Sama Berbilang Kali dalam Rentetan Format Go fmt.Sprintf?
Cara Rujuk Parameter Yang Sama Berbilang Kali dalam fmt.Sprintf Format String
Dalam Go, pakej fmt menyediakan cara yang mudah untuk memformat rentetan menggunakan fungsi Sprintf. Walau bagaimanapun, ia boleh menyusahkan untuk menentukan parameter yang sama beberapa kali dalam rentetan format.
Pertimbangkan contoh berikut:
func getTableCreationCommands(v string) string { return ` CREATE TABLE share_` + v + ` PARTITION OF share FOR VALUES IN (` + v + `); CREATE TABLE nearby_` + v + ` PARTITION OF nearby FOR VALUES IN (` + v + `); ` }
Di sini, kita perlu mengulang parameter 'v' empat kali untuk mencipta arahan SQL. Daripada pendekatan bertele-tele ini, kita boleh menggunakan indeks argumen eksplisit untuk merujuk kepada parameter yang sama beberapa kali dalam rentetan format.
import "fmt" func getTableCreationCommands(s string) string { return fmt.Sprintf(` CREATE TABLE share_%[1]v PARTITION OF share FOR VALUES IN (%[1]v); CREATE TABLE nearby_%[1]v PARTITION OF nearby FOR VALUES IN (%[1]v); `, s) } func main() { fmt.Println(getTableCreationCommands("X")) }
Dalam fungsi yang diubah suai ini, kami melampirkan indeks argumen [1] dalam kurungan segi empat sama sebelum kata kerja pemformatan (%v), menunjukkan bahawa kita mahu menggunakan hujah pertama yang diserahkan kepada Sprintf, iaitu rentetan "X" dalam kes ini. Pautan Taman Permainan untuk coretan ini ialah https://play.golang.org/p/fKV3iviuwll.
Menggunakan indeks hujah eksplisit membolehkan kami menghantar parameter sekali sahaja dan merujuknya seperti yang diperlukan dalam rentetan format, menghasilkan dalam pelaksanaan yang lebih ringkas dan boleh dibaca.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Semula Parameter Yang Sama Berbilang Kali dalam Rentetan Format Go fmt.Sprintf?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!