Golang : Read a file into an array or slice example
Ok, got a junior developer that wants to know how to read a text file content line by line into an array or slice. He is dealing with a legacy software that doesn't send out data either in JSON or XML format. The legacy software output is in text format.
Solution :
Use strings.Split()
function with newline (\n
) as the separator and ioutil.ReadFile()
function.
Here you go!
package main
import (
"fmt"
"io/ioutil"
"os"
"strings"
)
func main() {
if len(os.Args) <= 1 {
fmt.Printf("USAGE : %s <target_filename> \n", os.Args[0])
os.Exit(0)
}
fileName := os.Args[1]
fileBytes, err := ioutil.ReadFile(fileName)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
sliceData := strings.Split(string(fileBytes), "\n")
fmt.Println(sliceData)
}
Reference:
See also : Golang : Display a text file line by line with line number example
By Adam Ng(黃武俊)
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+18.7k Unmarshal/Load CSV record into struct in Go
+4.7k PHP : Extract part of a string starting from the middle
+10.5k Golang : Resolve domain name to IP4 and IP6 addresses.
+9.2k Golang : Create and shuffle deck of cards example
+29.3k Golang : Saving(serializing) and reading file with GOB
+30.3k Get client IP Address in Go
+12.6k Golang : Pass database connection to function called from another package and HTTP Handler
+6.9k Golang : How to solve "too many .rsrc sections" error?
+7k Javascript : How to get JSON data from another website with JQuery or Ajax ?
+17.5k Golang : Parse date string and convert to dd-mm-yyyy format
+8.2k Golang : Number guessing game with user input verification example
+26k Mac/Linux and Golang : Fix bind: address already in use error