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中文网其他相关文章!