AoC 2023 Tag 1

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Lösung in Go

  • go init
  • vim calibration-1.go
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	file, err := os.Open("input3.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)

	}
}