From 4499710846507ed084b243c153cbbc322a612f8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorben=20G=C3=BCnther?= Date: Fri, 20 Dec 2019 18:55:26 +0100 Subject: [PATCH] Setup helper tools Can parse a text file to strings or to ints. --- tools/file.go | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 tools/file.go diff --git a/tools/file.go b/tools/file.go new file mode 100644 index 0000000..fa4258e --- /dev/null +++ b/tools/file.go @@ -0,0 +1,40 @@ +package tools + +import ( + "bufio" + "os" + "strconv" +) + +func ScanFileString(filename string) ([]string, error) { + file, err := os.Open(filename) + if err != nil { + return nil, err + } + defer file.Close() + + scanner := bufio.NewScanner(file) + var lines []string + for scanner.Scan() { + lines = append(lines, scanner.Text()) + } + return lines, scanner.Err() +} + +func ScanFileInt(filename string) ([]int, error) { + file, err := os.Open(filename) + if err != nil { + return nil, err + } + defer file.Close() + scanner := bufio.NewScanner(file) + var lines []int + for scanner.Scan() { + value, err := strconv.Atoi(scanner.Text()) + if err != nil { + return nil, err + } + lines = append(lines, value) + } + return lines, scanner.Err() +} -- 2.44.0