getranges google script

package main

import (
    "fmt"
    "strings"
)

func getRanges(input string) []string {
    var result []string
    runes := []rune(input)

    for i := 0; i < len(runes); i++ {
        start := i
        for i < len(runes)-1 && runes[i] == runes[i+1] {
            i++
        }
        end := i
        if start != end {
            result = append(result, fmt.Sprintf("%d-%d", start, end))
        } else {
            result = append(result, fmt.Sprintf("%d", start))
        }
    }

    return result
}

func main() {
    input := "aaabbaacc"
    ranges := getRanges(input)
    output := strings.Join(ranges, ", ")
    fmt.Printf("Ranges: %s\n", output)
}