Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan fungsi fmt.Sscanf untuk membaca data berformat daripada rentetan dan menetapkannya kepada pembolehubah

Gunakan fungsi fmt.Sscanf untuk membaca data berformat daripada rentetan dan menetapkannya kepada pembolehubah

WBOY
WBOYasal
2023-07-25 19:49:47931semak imbas

Gunakan fungsi fmt.Sscanf untuk membaca data berformat daripada rentetan dan menetapkannya kepada pembolehubah

Dalam bahasa Go, fungsi Sscanf dalam pakej fmt boleh membaca data berformat daripada rentetan dan menetapkannya kepada pembolehubah kepada pembolehubah. Fungsi ini boleh menghuraikan data dalam rentetan, menukar data kepada jenis yang sepadan mengikut format yang ditentukan, dan menyimpan hasil yang ditukar dalam pembolehubah yang ditentukan. Sintaks fungsi

fmt.Sscanf adalah seperti berikut:

func Sscanf(rentetan str, rentetan format, a...antara muka{}) (n int, ralat err)

di mana str ialah rentetan untuk dihuraikan dan format ialah Dalam format yang ditentukan, a ialah senarai pembolehubah yang akan diberikan, n ialah bilangan pembolehubah yang berjaya ditetapkan, dan err ialah perihalan ralat.

Di bawah ini kami menggunakan beberapa contoh kod untuk memperdalam pemahaman kami tentang fungsi fmt.Sscanf.

Contoh 1: Menghuraikan integer dalam rentetan

package main

import (
    "fmt"
)

func main() {
    str := "I have 10 apples"
    var apples int
    n, err := fmt.Sscanf(str, "I have %d apples", &apples)
    if err != nil {
        fmt.Println("解析错误:", err)
        return
    }
    fmt.Println("解析成功,变量apples的值为:", apples)
    fmt.Println("成功赋值的变量个数:", n)
}

Hasil keluaran:

Menghuraikan dengan jayanya, nilai epal pembolehubah ialah: 10
Bilangan pembolehubah yang berjaya diberikan: 1

Dalam contoh fm di atas, kita passfm. menghuraikan rentetan "Saya mempunyai 10 epal", mengekstrak integer 10, dan memberikannya kepada epal pembolehubah.

Contoh 2: Menghuraikan berbilang nilai dalam rentetan

package main

import (
    "fmt"
)

func main() {
    str := "I am 20 years old"
    var name string
    var age int
    n, err := fmt.Sscanf(str, "I am %s years old", &name, &age)
    if err != nil {
        fmt.Println("解析错误:", err)
        return
    }
    fmt.Println("解析成功,变量name的值为:", name)
    fmt.Println("解析成功,变量age的值为:", age)
    fmt.Println("成功赋值的变量个数:", n)
}

Hasil keluaran:

Menghuraikan berjaya, nilai nama pembolehubah ialah: 20
Menghuraikan dengan jayanya, nilai umur pembolehubah ialah: 0
Bilangan pembolehubah yang berjaya ditetapkan : 1

Dalam contoh 2, kami menghuraikan nilai "nama" dan "umur" daripada rentetan "Saya berumur 20 tahun". Walaupun kami menetapkan dua pembolehubah dalam rentetan format, memandangkan "20" dihuraikan sebagai "nama" jenis rentetan dan bukannya "umur" jenis integer, nilai "umur" ialah 0.

Ringkasan:

Melalui fungsi fmt.Sscanf, kita boleh menghuraikan data dengan mudah dalam format yang ditentukan daripada rentetan dan menetapkannya kepada pembolehubah yang sepadan. Ini sangat berguna dalam senario di mana pemformatan rentetan diperlukan seperti fail konfigurasi dan fail log. Tetapi perlu diingatkan bahawa kita mesti memastikan bahawa jenis data yang dihuraikan sepadan dengan jenis pembolehubah untuk mengelakkan ralat penghuraian.

Atas ialah kandungan terperinci Gunakan fungsi fmt.Sscanf untuk membaca data berformat daripada rentetan dan menetapkannya kepada pembolehubah. 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