📜  如何计算 Golang 字符串中重复字符的数量?

📅  最后修改于: 2021-10-25 02:43:30             🧑  作者: Mango

在 Go 语言中,字符串不同于Java、C++、 Python等其他语言。它是一系列可变宽度字符,其中每个字符都由一个或多个使用 UTF-8 编码的字节表示。
在 Go 字符串,您可以借助Count()函数计算字符串某些特定的 Unicode 代码点或costr (重复字符)的非重叠实例。该函数返回其表示存在该字符串中的给定的字符串或Unicode代码点的总数的值。它定义在字符串包下,因此您必须在程序中导入字符串包才能访问 Count函数。

句法:

func Count(str, costr string) int

这里, str是原始字符串, costr是我们要计数的字符串。如果costr 的值为空,则此函数返回 1 + str 中的 Unicode 代码点数。

例子:

// Go program to illustrate how to
// count the elements of the string
package main
  
import (
    "fmt"
    "strings"
)
  
// Main function
func main() {
  
    // Creating and initializing the strings
    str1 := "Welcome to the online portal of GeeksforGeeks"
    str2 := "My dog name is Dollar"
    str3 := "I like to play Ludo"
  
    // Displaying strings
    fmt.Println("String 1: ", str1)
    fmt.Println("String 2: ", str2)
    fmt.Println("String 3: ", str3)
  
    // Counting the elements of the strings
    // Using Count() function
    res1 := strings.Count(str1, "o")
    res2 := strings.Count(str2, "do")
  
    // Here, it also counts white spaces
    res3 := strings.Count(str3, "")
    res4 := strings.Count("GeeksforGeeks, geeks", "as")
  
    // Displaying the result
    fmt.Println("\nResult 1: ", res1)
    fmt.Println("Result 2: ", res2)
    fmt.Println("Result 3: ", res3)
    fmt.Println("Result 4: ", res4)
  
}

输出:

String 1:  Welcome to the online portal of GeeksforGeeks
String 2:  My dog name is Dollar
String 3:  I like to play Ludo

Result 1:  6
Result 2:  1
Result 3:  20
Result 4:  0