Wenn Sie neu sind und Binärdateien lesen müssen, werden Sie durch die Schritte führen, um diese Aufgabe effektiv zu erledigen. Zum Beispiel:
Denken Sie daran, die Datei zu schließen, wenn Sie fertig gelesen haben, indem Sie die schließende Methode unter dem Objekt *os.file anrufen. Schnittstelle:
f, err := os.Open("myfile") if err != nil { panic(err) }Der type os.file -Typ implementiert die IO.Reader -Schnittstelle, sodass Sie mit seiner Lesemethode Bytes direkt in einen Puffer lesen können. Zum Beispiel:
bytes: = make ([] byte, 1024) n, err: = f.read (bytes) Wenn er! = nil { Panik (ähm) }
mit einem gepufferten Leser:
Sie können das os.file -Objekt in einem gepufferten Leser (
bufio.reader) für eine verbesserte Leistung bei großen Dateien einwickeln. Zum Beispiel:buff: = bufio.newreader (f) _, err: = buff.read (bytes) Wenn er! = nil { Panik (ähm) }
f, err := os.Open("myfile") if err != nil { panic(err) }Lesen Sie typisierte Daten mit Codierung/Binary
zum Lesen von Binärdaten in strukturierte Datentypen können Sie das Codierungs-/Binärpaket verwenden. Zum Beispiel:
Geben Sie die Datenstruktur {ein Value1 INT32 Value2 float64 Value3 String } Daten: = Daten {} err: = binary.read (f, binary.littleendian & data) Wenn er! = nil { Panik (ähm) }mit io/ioutil für Convenience
Das IO/ioutil -Paket bietet Komfortfunktionen zum Lesen ganzer Dateien. Zum Beispiel:f, err := os.Open("myfile") if err != nil { panic(err) }bytes, err: = ioutil.readfile ("myfile") Wenn er! = nil { Panik (ähm) }
Dieser Handbuch hat Ihnen verschiedene Methoden zur Verfügung gestellt, um Binärdateien in Go zu lesen. Denken Sie daran, die entsprechende Methode basierend auf Ihren spezifischen Anforderungen zu verwenden. Weitere Ressourcen finden Sie in den GO -Dokumentationen und den Community -Foren.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3