Untitled

 avatar
unknown
golang
a year ago
989 B
5
Indexable
package main

import (
	"fmt"
	"strings"
	"unicode"
)


func capitalizeFirstLetter(s string) string {
	if len(s) == 0 {
		return s
	}
	runes := []rune(s)
	runes[0] = unicode.ToTitle(runes[0])
	return string(runes)
}


func generateTitle(parent string, subgroups []string) string {

	parent = capitalizeFirstLetter(strings.TrimSpace(parent))

	if len(subgroups) == 0 {
		return parent
	}

	firstSubgroup := capitalizeFirstLetter(strings.TrimSpace(subgroups[0]))

	restOfTitle := ""
	if len(subgroups) > 1 {
		restOfTitle = " → " + generateTitle(firstSubgroup, subgroups[1:])
	}

	return parent + " → " + firstSubgroup + restOfTitle
}

func main() {
	carID := 123 
	title := generateTitle(fmt.Sprintf("ТС %d", carID), []string{"финансы", "баланс", "детали", "дополнительно"})
	fmt.Println(title)


	titleMap := map[string]string{"title": generateTitle(fmt.Sprintf("ТС %d", carID), []string{"финансы", "баланс"})}
	fmt.Println(titleMap)
}
Editor is loading...
Leave a Comment