Book Image

Mastering Go

By : Mihalis Tsoukalos
Book Image

Mastering Go

By: Mihalis Tsoukalos

Overview of this book

<p>Often referred to as Golang (albeit wrongly), the Go programming language is really making strides thanks to some masterclass developments, architected by the greatest programming minds. Shopify CEO Tobias Lutke has been recently quoted as saying “Go will be the server language of the future.” Go programmers are in high demand, but - more controversially - Go takes the stage where C and Unix programmers previously led the way.</p> <p>The growth of the Go language has seen it become the means by which systems, networking, web, and cloud applications are implemented. If you’re a Go programmer, you’ll already know some Go syntax and will have written some small projects. However, most Go programmers face the difficulty of having to integrate their Golang skills with production code. With Mastering Go, the author shows you just how to tackle this problem. You'll benefit by mastering the use of the libraries and utilize its features, speed, and efficiency for which the Go ecology is justly famous.</p> <p>Offering a compendium of Go, the book begins with an account of how Go has been implemented. You'll also benefit from an in-depth account of concurrency and systems and network programming imperative for modern-day native cloud development through the course of the book.</p>
Table of Contents (19 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

Writing to a file


Generally speaking, you can use the functionality of the io.Writer interface for writing data to files on a disk. Nevertheless, the Go code of save.go will show you five ways to write data to a file. The save.go program will be presented in six parts.

The first part of save.go is as follows:

package main 
 
import ( 
   "bufio" 
   "fmt" 
   "io" 
   "io/ioutil" 
   "os" 
) 

The second code portion of save.go is shown in the following Go code:

func main() { 
    s := []byte("Data to write\n") 
 
    f1, err := os.Create("f1.txt") 
    if err != nil { 
        fmt.Println("Cannot create file", err) 
        return 
    } 
    defer f1.Close() 
    fmt.Fprintf(f1, string(s)) 

Notice that the s byte slice will be used in every line that involves writing presented in this Go program. Additionally, the fmt.Fprintf() function used here can help you write data to your own log files using the format you want. In this case, fmt.Fprintf() writes your data to the file identified by f1...