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

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


IntNum  :  10
FloatNum:  2.3


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!

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.