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
+36.6k Golang : Comparing date or timestamp
+12k Golang : Get user input until a command or receive a word to stop
+8.4k Golang : ffmpeg with os/exec.Command() returns non-zero status
+20.6k Golang : Setting up/configure AWS credentials with official aws-sdk-go
+17.6k Golang : Get host name or domain name from IP address
+9.7k Golang : Create Temporary File
+33.9k Golang : Get file last modified date and time
+19.9k Golang : Convert string slice to struct and access with reflect example
+35.7k Upload multiple files with Go
+8.6k Golang : interface - when and where to use examples
+11.1k Golang : 2 dimensional array example