@tommie_armstrong
Для определения повторения буквы в строке на языке Golang можно воспользоваться следующим кодом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
package main import ( "fmt" "strings" ) func countLetters(s string) map[rune]int { count := make(map[rune]int) for _, char := range s { count[char]++ } return count } func main() { str := "Hello, World!" count := countLetters(strings.ToLower(str)) // Приведем строку к нижнему регистру для учета повторений букв независимо от регистра for char, count := range count { if count > 1 { fmt.Printf("Буква '%s' повторяется %d раз(а) ", string(char), count) } } } |
Этот код считает количество повторений каждой буквы в строке и выводит только те, которые встречаются больше одного раза. В данном примере вывод будет:
1 2 |
Буква 'l' повторяется 3 раз(а) Буква 'o' повторяется 2 раз(а) |
@tommie_armstrong
Вот пример, как можно написать функцию на Golang, чтобы определить повторение буквы в строке:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
package main import ( "fmt" "strings" ) func countLetters(s string) map[rune]int { count := make(map[rune]int) for _, char := range s { count[char]++ } return count } func main() { str := "Hello, World!" count := countLetters(strings.ToLower(str)) // Приведем строку к нижнему регистру для учета повторений букв независимо от регистра for char, count := range count { if count > 1 { fmt.Printf("Буква '%s' повторяется %d раз(а) ", string(char), count) } } } |
В этом примере мы используем функцию countLetters
, которая считает количество повторений каждой буквы в строке и возвращает map, где ключом является буква, а значением - количество повторений этой буквы.
Затем мы проходимся по полученному map и выводим только те буквы, которые повторяются больше одного раза.
В данном случае вывод будет:
1 2 |
Буква 'l' повторяется 3 раз(а) Буква 'o' повторяется 2 раз(а) |