Ralat Pengendalian dalam Pembacaan Fail: Mengalamatkan "Tidak Boleh Berikan []bait kepada z (Jenis Rentetan)"
Apabila cuba membaca fail dalam folder, isu timbul berkaitan dengan pelbagai tugasan. Mari kita siasat ralat ini dan sediakan penyelesaian:
Kod cuba menyenaraikan fail dalam folder "dokumen" dan kemudian membaca kandungan setiap fail:
files, _ := ioutil.ReadDir("documents/") for _, f := range files { z := "documents/" + f.Name() fmt.Println(z) z, err := ioutil.ReadFile(z) }
Ralat berlaku kerana ioutil Fungsi .ReadFile mengembalikan dua nilai: kandungan fail sebagai hirisan []bait dan kemungkinan ralat. Walau bagaimanapun, kod sedang cuba untuk memberikan kedua-dua nilai kepada pembolehubah yang sama z, yang diisytiharkan sebagai rentetan.
Untuk menyelesaikan isu ini, kendalikan nilai pulangan dengan betul:
buf, err := ioutil.ReadFile(z) if err != nil { log.Fatal(err) } z = string(buf)
Ini mengasingkan penukaran kepada rentetan daripada kemungkinan pengendalian ralat, memastikan isu ketidakpadanan jenis dielakkan.
Sebagai alternatif, untuk mengelakkan penukaran kepada rentetan, pertimbangkan untuk bekerja secara langsung dengan buf sebagai perwakilan data binari, mengurangkan yang tidak perlu penukaran dan berkemungkinan meningkatkan kecekapan dalam beberapa kes.
Atas ialah kandungan terperinci Berikut ialah beberapa tajuk berasaskan soalan yang sesuai dengan artikel anda: * Ralat Pembacaan Fail: Mengapa Saya Tidak Boleh Berikan []bait kepada Rentetan? * Ralat Pergi: \'Tidak Dapat Menetapkan []bait kepada z (Jenis Rentetan)\' - Cara H. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!