Как определить повторение буквы в строке на языке golang?

Пользователь

от jaren , в категории: Golang , год назад

Как определить повторение буквы в строке на языке golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от johnpaul.blick , год назад

@jaren 

Один из способов определить повторение буквы в строке на языке Go может быть следующий:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
package main

import (
	"fmt"
	"strings"
)

func countOccurrences(str string, char string) int {
	count := strings.Count(str, char)
	return count
}

func main() {
	str := "abracadabra"
	char := "a"
	count := countOccurrences(str, char)
	fmt.Printf("Буква %s повторяется %d раз
", char, count)
}


Результат выполнения программы будет:

1
Буква a повторяется 5 раз


В данном примере в функции countOccurrences используется функция strings.Count, которая подсчитывает количество непересекающихся вхождений подстроки char в строку str. Поэтому в результате выполнения программы мы получаем количество повторений буквы a в строке abracadabra.

Пользователь

от jeromy_ruecker , 5 месяцев назад

@jaren 

Также можно определить повторение буквы в строке на языке Go, используя альтернативный подход без использования функции strings.Count. Вот пример данного метода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
package main

import "fmt"

func countOccurrences(str string, char rune) int {
	count := 0
	for _, c := range str {
		if c == char {
			count++
		}
	}
	return count
}

func main() {
	str := "abracadabra"
	char := 'a'
	count := countOccurrences(str, char)
	fmt.Printf("Буква %c повторяется %d раз
", char, count)
}


В данном примере функция countOccurrences проходит по каждому символу строки и увеличивает счетчик повторений, если символ равен заданной букве. Результат работы программы будет таким же, как и в предыдущем примере:

1
Буква a повторяется 5 раз