Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Merujuk Parameter Yang Sama Berbilang Kali dalam Rentetan Format fmt.Sprintf?
Merujuk Parameter Yang Sama Berbilang Kali dalam fmt.Sprintf Format Rentetan
Dalam coretan kod yang diberikan, anda mempunyai fungsi yang menjana arahan SQL untuk mencipta jadual menggunakan fmt.Sprintf. Walaupun pendekatan asal adalah verbose, anda inginkan cara untuk merujuk parameter v sekali sahaja untuk pemformatan rentetan yang lebih baik.
Menurut dokumentasi untuk fmt.Sprintf:
Dalam Printf, Sprintf dan Fprintf, tingkah laku lalai adalah untuk setiap kata kerja pemformatan untuk memformat argumen berturut-turut yang diluluskan dalam panggilan. Walau bagaimanapun, tatatanda [n] sejurus sebelum kata kerja menunjukkan bahawa nhujah terindeks satu akan diformatkan sebaliknya.
Ini bermakna anda boleh melepasi pembolehubah v sekali dan menggunakan Notasi [n] untuk menentukan indeks hujah yang akan diformatkan. Contohnya, fungsi anda yang dikemas kini boleh:
func getTableCreationCommands(v 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); `, v) }
Di sini, %[1]v memberitahu pemformat untuk menggunakan argumen pertama, iaitu v, dua kali.
Untuk menggunakan fungsi ini :
import "fmt" func main() { s := "X" fmt.Println(getTableCreationCommands(s)) }
Output:
CREATE TABLE share_X PARTITION OF share FOR VALUES IN (X); CREATE TABLE nearby_X PARTITION OF nearby FOR VALUES IN (X);
Pendekatan ini menyediakan cara yang lebih bersih dan ringkas untuk memformat arahan SQL anda dengan berbilang rujukan kepada parameter yang sama.
Atas ialah kandungan terperinci Bagaimana untuk Merujuk Parameter Yang Sama Berbilang Kali dalam Rentetan Format fmt.Sprintf?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!