Golang program to write a structure of binary data into the file

Here, we are going to learn how to write a structure of binary data into the file in Golang (Go Language)?
Submitted by Nidhi, on April 11, 2021 [Last updated : March 04, 2023]

How to write a structure of binary data into the file in Golang?

Problem Solution:

In this program, we will create a structure and write data into binary format in a specified file.

Program/Source Code:

The source code to write a structure of binary data into the file is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.

Golang code to write a structure of binary data into the file

// Golang program to write a structure of
// binary data into a file

package main

import "encoding/binary"
import "fmt"
import "os"

type Str struct {
	intNum   uint8
	floatNum float32
}

func main() {
	file, err := os.Create("data.bin")
	if err != nil {
		fmt.Println("Couldn't open file")
	}

	var st = Str{10, 2.3}

	err = binary.Write(file, binary.LittleEndian, st)
	if err != nil {
		fmt.Println("Write failed")
	}

	fmt.Println("Structure written into file successfully")

	file.Close()
}

Output:

Structure written into file successfully

Explanation:

In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the fmt, os packages then we can use a function related to the fmt and os package.

Here, we also imported the "encoding/binary" package to read and write data into binary format.

type Str struct{
	intNum   uint8
	floatNum float32
}

In the above code, we created a structure Str that contains integer and float numbers.

In the main() function, we created a file "data.bin" and write the structure object in binary format into the file using binary.Write() function. After that, we printed the "Structure written into file successfully" message on the console screen.

Golang File Handling Programs »






Comments and Discussions!

Load comments ↻






Copyright © 2024 www.includehelp.com. All rights reserved.