~xenrox/aoc2019

4499710846507ed084b243c153cbbc322a612f8b — Thorben Günther 4 years ago
Setup helper tools

Can parse a text file to strings or to ints.
1 files changed, 40 insertions(+), 0 deletions(-)

A tools/file.go
A  => tools/file.go +40 -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()
}