Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengendalikan Nilai Penggantian yang Hilang dalam fmt.Sprintf?

Bagaimana untuk Mengendalikan Nilai Penggantian yang Hilang dalam fmt.Sprintf?

Barbara Streisand
Lepaskan: 2024-10-31 11:04:01
asal
873 orang telah melayarinya

How to Handle Missing Replacement Values in fmt.Sprintf?

Mengabaikan Medan Lebihan dalam fmt.Sprintf

Pertimbangkan senario di mana program Go memproses input rentetan daripada baris arahan dan menggunakan fmt. Sprintf untuk menjana rentetan berformat. Jika input, diwakili sebagai tmp_str, mengandungi ruang letak (cth., "%s") dan nilai gantian yang disertakan tidak diberikan, fmt.Sprintf akan menimbulkan ralat dengan mesej "EXTRA string=world", dengan "world" ialah tiada penggantian.

Untuk menangani isu ini dan mengendalikan situasi di mana input mungkin kekurangan ruang letak, satu pendekatan adalah dengan menghendaki pengguna baris perintah memasukkan pemegang tempat "%s" secara konsisten. Ini memastikan bahawa walaupun tiada nilai diberikan kepada pemegang tempat, program mengelakkan panik. Memotong rentetan kepada panjang sifar, seperti yang ditunjukkan dalam contoh berikut, akan menyekat sebarang output yang dikaitkan dengan pemegang tempat:

<code class="go">package main

import "fmt"

func main() {
    tmp_str := "Hello Friends%.0s"
    str := fmt.Sprintf(tmp_str, "")
    fmt.Println(str)
}</code>
Salin selepas log masuk

Output:

Hello Friends
Salin selepas log masuk

Dengan menggunakan strategi ini, program boleh mengabaikan sebarang medan gantian lebihan yang dihantar kepada fmt.Sprintf dan mengekalkan tingkah laku yang stabil.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Nilai Penggantian yang Hilang dalam 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan