Most of the Developers are switching to the recently developed Golang tech by Google in 2009 because of its code efficiency and less execution time as it is a compiled language.
Will talk about an important keyword used in Golang "Defer" in this article..
Defer is used for some bytes of code if a prior cleanup is required for the function created in Golang before its return.
With the help of "defer" keyword, we can have optimized code promoting more robust and reliable code.
*Defer makes the statement fall at a position in stack that the code after the keyword just takes execution just before the function is returned.
*
Defer Keyword contributes to enhance the code in following ways:
- Cleanup of Code
- To lock the opened results
- Close opened files to make code reliable.
Refer the code for the same & understand the steps of execution by the summary below :
package main
import (
"fmt"
"os"
)
func main() {
file := createFile("example.txt")
defer closeFile(file)
writeToFile(file, "Hello, Golang!")
}
func createFile(filename string) *os.File {
fmt.Println("Creating file:", filename)
file, err := os.Create(filename)
if err != nil {
panic(err)
}
return file
}
func writeToFile(file *os.File, message string) {
fmt.Println("Writing to file:", message)
_, err := file.WriteString(message)
if err != nil {
panic(err)
}
}
func closeFile(file *os.File) {
fmt.Println("Closing file")
err := file.Close()
if err != nil {
panic(err)
}
}
In this piece of Code because of we using defer keyword the function just before returning closes the opened file and hence make no mistake & no misplace of any data.
Defer is a keyword defined its use in the Golang Documentation.
Refer to the documentation to understand more and learn implementation:
Top comments (0)