Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mengulang Pembolehubah Tunggal Merentasi Berbilang Pemegang Tempat dalam fmt.Sprintf() Go?

Bagaimanakah Saya Boleh Mengulang Pembolehubah Tunggal Merentasi Berbilang Pemegang Tempat dalam fmt.Sprintf() Go?

Susan Sarandon
Lepaskan: 2024-12-21 12:53:21
asal
787 orang telah melayarinya

How Can I Repeat a Single Variable Across Multiple Placeholders in Go's fmt.Sprintf()?

Menerap Nilai Pembolehubah dalam Rentetan Berformat Menggunakan Sprintf

In Go, fmt.Sprintf() membenarkan pemformatan rentetan menggunakan ruang letak yang digantikan dengan nilai yang disediakan. Walaupun ia biasanya memberikan setiap pemegang tempat nilai unik, selalunya wajar untuk menggantikan semua ruang letak dengan pembolehubah yang sama.

Pengindeksan Hujah Eksplisit

Untuk mencapai ini, fmt.Sprintf () menggunakan pengindeksan hujah eksplisit. Dalam rentetan format, meletakkan [n] sebelum kata kerja pemformatan memastikan argumen ke-n (diindeks daripada 1) diformat dan bukannya urutan menaik lalai. Begitu juga, [n] diletakkan sebelum * untuk lebar atau ketepatan menunjukkan hujah yang memegang nilai yang ditentukan.

Contoh Penggunaan

Pertimbangkan contoh yang disediakan dalam soalan:

val := "foo"
s := fmt.Sprintf("%v in %v is %v", val)
Salin selepas log masuk

Untuk meniru pembolehubah val merentas semua ruang letak, ubah suai rentetan format sebagai berikut:

s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)
Salin selepas log masuk

Ini menghasilkan output yang diingini:

"foo in foo is foo"
Salin selepas log masuk

Notasi Ringkas

Perhatikan bahawa indeks hujah eksplisit pertama boleh ditinggalkan kerana lalai kepada 1:

s := fmt.Sprintf("%v in %[1]v is %[1]v", val)
Salin selepas log masuk

Kesimpulan

Dengan memanfaatkan pengindeksan hujah eksplisit, fmt.Sprintf() boleh digunakan untuk mereplikasi nilai pembolehubah tunggal merentas semua ruang letak dalam format yang rentetan, menyediakan penyelesaian yang ringkas dan cekap untuk senario tertentu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulang Pembolehubah Tunggal Merentasi Berbilang Pemegang Tempat dalam fmt.Sprintf() Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan