Golang program to read a structure from the file

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

How to read a structure from the file in Golang?

Problem Solution:

In this program, we will create a structure and read data from an existing specified file, and print the result on the console screen.

Program/Source Code:

The source code to read a structure from the file is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.

Golang code to read a structure from the file

// Golang program to read a structure
// from the file

package main

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

type Str struct {
	intNum   uint8
	floatNum float32
}

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

	binary.Read(file, binary.LittleEndian, &str.intNum)
	binary.Read(file, binary.LittleEndian, &str.floatNum)

	fmt.Println("IntNum  : ", str.intNum)
	fmt.Println("FloatNum: ", str.floatNum)
	file.Close()
}

Output:

IntNum  :  10
FloatNum:  2.3

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 open an existing file "data.bin" and read data in structure object in binary format from the file using binary.Read() function. After that, we printed the result on the console screen.

Golang File Handling Programs »






Comments and Discussions!

Load comments ↻






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