Rumah >pembangunan bahagian belakang >Golang >Gunakan fungsi fmt.Fscanf untuk membaca data berformat daripada rentetan dan menetapkannya kepada pembolehubah sehingga pembatas yang ditentukan ditemui.
Gunakan fungsi fmt.Fscanf untuk membaca data berformat daripada rentetan dan tetapkan ia kepada pembolehubah sehingga pembatas yang ditentukan ditemui
Dalam pakej fmt bahasa Go, satu siri fungsi input dan output disediakan, termasuk Fungsi fmt. Fscanf untuk memformat input. Dengan menggunakan fungsi ini, anda boleh membaca data dalam format tertentu daripada rentetan dan menetapkannya kepada pembolehubah yang sepadan.
Pertama, mari kita lihat contoh mudah.
package main import ( "fmt" "strings" ) func main() { str := "42 3.14 Go" var num int var pi float64 var lang string _, err := fmt.Fscanf(strings.NewReader(str), "%d %f %s", &num, &pi, &lang) if err != nil { fmt.Printf("格式化输入错误:%s ", err) return } fmt.Printf("num: %d ", num) fmt.Printf("pi: %f ", pi) fmt.Printf("lang: %s ", lang) }
Dalam kod di atas, kami mentakrifkan str rentetan, yang mengandungi integer, nombor titik terapung dan rentetan, dipisahkan dengan ruang.
Seterusnya, kami menggunakan fungsi fmt.Fscanf untuk membaca data daripada rentetan ini dalam format yang ditentukan dan menetapkan hasilnya kepada pembolehubah yang sepadan.
Dalam contoh ini, kami menentukan tiga pembolehubah: num, pi dan lang masing-masing untuk menerima data baca. Kami membolehkan fmt.Fscanf menyimpan nilai baca ke dalam pembolehubah yang sepadan dengan menghantar alamat memori mereka (menggunakan & operator) sebagai parameter.
%Rentetan format menentukan jenis data yang kami harapkan untuk dibaca. Dalam contoh ini, %d mewakili integer, %f mewakili nombor titik terapung dan %s mewakili rentetan.
Perhatikan bahawa kami menggunakan fungsi rentetan.NewReader untuk membalut str rentetan ke dalam pelaksanaan antara muka io.Reader supaya ia boleh dihantar ke fungsi fmt.Fscanf. Ini dilakukan kerana fungsi fmt.Fscanf memerlukan parameter jenis io.Reader, dan ia boleh membaca data daripada sebarang jenis yang melaksanakan antara muka ini.
Akhir sekali, kami menyemak sama ada bacaan berjaya dengan menyemak pembolehubah ralat. Jika ralat bukan nol, ralat input terformat telah berlaku.
Jika semuanya baik, kita boleh mencetak nilai yang kita baca.
Dalam kod di atas, kami mencetak nilai num, pi dan lang menggunakan fungsi fmt.Printf. Anda boleh memproses nilai ini mengikut keperluan anda sendiri.
Ringkasnya, dengan menggunakan fungsi fmt.Fscanf, kita boleh membaca data berformat daripada rentetan dengan mudah dan menetapkannya kepada pembolehubah yang sepadan. Ini berguna untuk mengendalikan input pengguna, menghuraikan data fail, dsb. Rentetan format yang berbeza boleh digunakan untuk menentukan jenis data yang berbeza. Perlu diingat bahawa apabila pembatas yang ditentukan ditemui semasa proses membaca, bacaan akan berhenti dan data yang tinggal akan ditinggalkan dalam aliran input.
Atas ialah kandungan terperinci Gunakan fungsi fmt.Fscanf untuk membaca data berformat daripada rentetan dan menetapkannya kepada pembolehubah sehingga pembatas yang ditentukan ditemui.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!