Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mengulang Pembolehubah dalam fmt.Sprintf Go Menggunakan Indeks Argumen?

Bagaimanakah Saya Boleh Mengulang Pembolehubah dalam fmt.Sprintf Go Menggunakan Indeks Argumen?

Patricia Arquette
Patricia Arquetteasal
2024-12-30 10:59:18870semak imbas

How Can I Repeat a Variable in Go's fmt.Sprintf Using Argument Indexes?

Mereplikasi Pembolehubah dalam Sprintf Menggunakan Indeks Argumen Eksplisit

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.

Penyelesaian

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.

Output

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.

Borang Ringkas

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!

Kenyataan:
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