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
Barbara Streisandasal
2024-10-31 11:04:01908semak imbas

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>

Output:

Hello Friends

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!

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