首页  >  文章  >  后端开发  >  如何使用 Golang 读写二进制文件?

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

WBOY
WBOY原创
2024-06-03 13:14:581071浏览

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

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

读二进制文件

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()
}

写二进制文件

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)
}

以上是如何使用 Golang 读写二进制文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn