Lösung in Go
- go mod init aoc/01
- vim calibration-1.go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
file, err := os.Open("input.txt")
sum := 0
if err != nil {
panic(err)
}
defer file.Close()
scanner := bufio.NewScanner(file)
for scanner.Scan() {
line := scanner.Text()
line_len := len(line) - 1
for _, char := range line {
if char > 47 && char < 58 {
sum += (int(char) - 48) * 10
break
}
}
for idx := range line {
char := line[line_len - idx]
if char > 47 && char < 58 {
sum += int(char) - 48
break
}
}
}
fmt.Println(sum)
if err := scanner.Err(); err != nil {
fmt.Fprintln(os.Stderr, "file error:", err)
}
}