| 12345678910111213141516171819202122232425262728293031323334353637 |
- package main
- import (
- "bytes"
- "fmt"
- "log"
- "os"
- )
- func getRanges(data []byte) [][]int {
- var ranges [][]int
- ids := bytes.Split(data, []byte(","))
- for _, id := range ids {
- var start, end int
- n, err := fmt.Sscanf(string(id), "%d-%d", &start, &end)
- if err != nil || n != 2 {
- log.Fatalf("Invalid range: %s", id)
- }
- ranges = append(ranges, []int{start, end})
- }
- return ranges
- }
- func main() {
- if len(os.Args) < 2 {
- log.Fatal("You need to specify a file!")
- }
- data, err := os.ReadFile(os.Args[1])
- if err != nil {
- log.Fatal(err)
- }
- ranges := getRanges(data)
- fmt.Println(ranges)
- }
|