Menggantikan Semua Pembolehubah Sprintf dengan Satu Nilai
Apabila menggunakan fmt.Sprintf() untuk memformat rentetan, ia selalunya melibatkan penggantian pembolehubah dengan tertentu nilai. Walau bagaimanapun, bagaimana jika anda perlu menggantikan semua pembolehubah dengan nilai yang sama?
fmt.Sprintf() sememangnya boleh menampung senario ini dengan menggunakan indeks hujah eksplisit. Indicies ini menentukan argumen yang harus digunakan untuk pemformatan dan bukannya kelakuan berjujukan lalai.
Sebagai contoh, untuk menggantikan semua pembolehubah dalam rentetan yang diformat dengan "foo":
val := "foo" s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)
Dalam ini contoh, indeks argumen eksplisit [1] digunakan sebelum setiap kata kerja format, menunjukkan bahawa semua pembolehubah harus digantikan dengan argumen pertama, iaitu "foo". Rentetan yang terhasil menjadi:
"foo in foo is foo"
Berikut ialah pecahan sintaks:
Anda boleh memudahkan lagi ini dengan meninggalkan indeks hujah eksplisit untuk pembolehubah pertama kerana ia lalai kepada 1:
fmt.Sprintf("%v in %[1]v is %[1]v", "foo")
Pendekatan ini menyediakan cara yang mudah untuk menggantikan semua pembolehubah dalam rentetan terformat anda dengan satu nilai secara seragam.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Semua Pembolehubah dalam fmt.Sprintf() dengan Nilai Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!