Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lese und schreibe ich Binärdateien mit Golang?

Wie lese und schreibe ich Binärdateien mit Golang?

WBOY
WBOYOriginal
2024-06-03 13:14:581071Durchsuche

如何使用 Golang 读写二进制文件?

Wie lese und schreibe ich Binärdateien mit Golang?

Binärdateien lesen

package main

import (
  "fmt"
  "os"
)

func main() {
  // 打开一个二进制文件
  file, err := os.Open("myfile.bin")
  if err != nil {
    fmt.Println("Error opening file:", err)
    return
  }
  defer file.Close()   // 确保文件在函数返回后关闭

  // 读取文件内容到一个字节切片
  data := make([]byte, 1024)  // 缓冲区大小可以根据需要调整
  n, err := file.Read(data)
  if err != nil {
    fmt.Println("Error reading file:", err)
    return
  }

  // 处理读取到的字节
  for i := 0; i < n; i++ {
    fmt.Printf("%02x ", data[i])  // 以十六进制打印字节
  }
  fmt.Println()
}

Binärdateien schreiben

package main

import (
  "fmt"
  "os"
)

func main() {
  // 打开一个二进制文件,进行写操作
  file, err := os.OpenFile("myfile.bin", os.O_WRONLY|os.O_CREATE, 0644)
  if err != nil {
    fmt.Println("Error opening file:", err)
    return
  }
  defer file.Close()  // 确保文件在函数返回后关闭

  // 写入数据到文件
  data := []byte{0x01, 0x02, 0x03, 0x04}
  n, err := file.Write(data)
  if err != nil {
    fmt.Println("Error writing file:", err)
    return
  }

  // 打印写入的字节数
  fmt.Printf("Wrote %d bytes to file\n", n)
}

Das obige ist der detaillierte Inhalt vonWie lese und schreibe ich Binärdateien mit Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn