Bagaimanakah Saya Boleh Menggunakan Semula Parameter Yang Sama Berbilang Kali dalam Rentetan Format Go fmt.Sprintf?

DDD
Lepaskan: 2024-11-07 05:55:03
asal
814 orang telah melayarinya

How Can I Reuse the Same Parameter Multiple Times in a Go fmt.Sprintf Format String?

Cara Rujuk Parameter Yang Sama Berbilang Kali dalam fmt.Sprintf Format String

Dalam Go, pakej fmt menyediakan cara yang mudah untuk memformat rentetan menggunakan fungsi Sprintf. Walau bagaimanapun, ia boleh menyusahkan untuk menentukan parameter yang sama beberapa kali dalam rentetan format.

Pertimbangkan contoh berikut:

func getTableCreationCommands(v string) string {
    return `
        CREATE TABLE share_` + v + ` PARTITION OF share FOR VALUES IN (` + v + `);
        CREATE TABLE nearby_` + v + ` PARTITION OF nearby FOR VALUES IN (` + v + `);
    `
}
Salin selepas log masuk

Di sini, kita perlu mengulang parameter 'v' empat kali untuk mencipta arahan SQL. Daripada pendekatan bertele-tele ini, kita boleh menggunakan indeks argumen eksplisit untuk merujuk kepada parameter yang sama beberapa kali dalam rentetan format.

import "fmt"

func getTableCreationCommands(s string) string {
    return fmt.Sprintf(`
        CREATE TABLE share_%[1]v PARTITION OF share FOR VALUES IN (%[1]v);
        CREATE TABLE nearby_%[1]v PARTITION OF nearby FOR VALUES IN (%[1]v);
    `, s)
}

func main() {
    fmt.Println(getTableCreationCommands("X"))
}
Salin selepas log masuk

Dalam fungsi yang diubah suai ini, kami melampirkan indeks argumen [1] dalam kurungan segi empat sama sebelum kata kerja pemformatan (%v), menunjukkan bahawa kita mahu menggunakan hujah pertama yang diserahkan kepada Sprintf, iaitu rentetan "X" dalam kes ini. Pautan Taman Permainan untuk coretan ini ialah https://play.golang.org/p/fKV3iviuwll.

Menggunakan indeks hujah eksplisit membolehkan kami menghantar parameter sekali sahaja dan merujuknya seperti yang diperlukan dalam rentetan format, menghasilkan dalam pelaksanaan yang lebih ringkas dan boleh dibaca.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Semula Parameter Yang Sama Berbilang Kali dalam Rentetan Format Go fmt.Sprintf?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!