Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menggantikan Semua Pembolehubah dalam Rentetan Go Sprintf dengan Nilai yang Sama?

Bagaimanakah Saya Boleh Menggantikan Semua Pembolehubah dalam Rentetan Go Sprintf dengan Nilai yang Sama?

Linda Hamilton
Linda Hamiltonasal
2024-12-13 05:32:09174semak imbas

How Can I Replace All Variables in a Go Sprintf String with the Same Value?

Menggunakan Sprintf dengan Penggantian Nilai Sama

Dalam Sprintf, keupayaan untuk menggantikan semua pembolehubah dalam rentetan yang diformat dengan nilai yang sama adalah mungkin tetapi memerlukan pengubahsuaian rentetan format.

Argumen Eksplisit Indeks

Kuncinya ialah menggunakan indeks hujah eksplisit sebelum setiap kata kerja pemformatan. Ini membolehkan anda menentukan hujah yang harus digunakan untuk penggantian tertentu itu. Dalam Printf, Sprintf dan Fprintf, tingkah laku lalai adalah menggunakan hujah yang diluluskan secara berurutan. Walau bagaimanapun, indeks hujah eksplisit, dilambangkan dengan [n], membolehkan anda memilih indeks hujah tertentu.

Contoh

Pertimbangkan contoh berikut:

val := "foo"
s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)
fmt.Println(s)

Di sini, kami menggunakan indeks argumen eksplisit [1] sebelum setiap kata kerja pemformatan. Ini mengarahkan Sprintf untuk menggunakan hujah pertama, iaitu, val, untuk ketiga-tiga penggantian. Hasilnya, output akan menjadi:

foo in foo is foo

Pemudahan Baris Tunggal

Contoh di atas boleh dipermudahkan kepada satu baris:

fmt.Printf("%[1]v in %[1]v is %[1]v", "foo")

Mengabaikan Indeks Pertama

Selain itu, anda boleh tinggalkan indeks argumen eksplisit pertama, kerana ia secara automatik lalai kepada 1:

fmt.Printf("%v in %[1]v is %[1]v", "foo")

Dengan memahami indeks argumen eksplisit, anda boleh menentukan nilai yang sama untuk berbilang penggantian dalam Sprintf, tanpa mengira bilangan penentu format.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Semua Pembolehubah dalam Rentetan Go Sprintf dengan Nilai yang Sama?. 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