Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menggantikan Semua Pembolehubah dalam fmt.Sprintf() dengan Nilai Tunggal?

Bagaimanakah Saya Boleh Menggantikan Semua Pembolehubah dalam fmt.Sprintf() dengan Nilai Tunggal?

DDD
DDDasal
2024-12-15 07:44:14137semak imbas

How Can I Replace All Variables in fmt.Sprintf() with a Single Value?

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:

  • %[1]v: Menggantikan pembolehubah 1 dengan "foo"
  • %[1]v ialah %[1]v: Baris ini dengan berkesan menyatakan "foo in foo is foo"

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!

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