Golang 如何在字符串中计算重复字符的数量
在Go语言中,字符串与其他语言(如Java、C++、Python等)不同。它是一个可变宽度字符序列,其中每个字符都由一个或多个字节使用UTF-8编码表示。
在Go字符串中,您可以使用Count()函数计算特定的Unicode代码点或字符串中不重叠实例(Repeated Characters)的数量。此函数返回一个值,该值表示给定字符串或Unicode代码点在字符串中出现的总数。它在strings包中定义,因此您必须在程序中导入strings包以访问Count函数。
语法:
func Count(str, costr string) int
这里,str是原始字符串,costr是我们要计算的字符串。如果costr的值为空,则此函数返回str中Unicode代码点的数量+1。
示例:
// Go程序演示如何计算字符串的元素数量
package main
import (
"fmt"
"strings"
)
// 主函数
func main() {
// 创建并初始化字符串
str1 := "欢迎来到GeeksforGeeks在线门户网站"
str2 := "我的狗的名字是Dollar"
str3 := "我喜欢玩游戏Ludo"
// 显示字符串
fmt.Println("字符串1:", str1)
fmt.Println("字符串2:", str2)
fmt.Println("字符串3:", str3)
// 计算字符串的元素
// 使用Count()函数
res1 := strings.Count(str1, "o")
res2 := strings.Count(str2, "do")
// 这里,它还会计算空格
res3 := strings.Count(str3, "")
res4 := strings.Count("GeeksforGeeks, geeks", "as")
// 显示结果
fmt.Println("\n结果1:", res1)
fmt.Println("结果2:", res2)
fmt.Println("结果3:", res3)
fmt.Println("结果4:", res4)
}
输出:
字符串1: 欢迎来到GeeksforGeeks在线门户网站
字符串2: 我的狗的名字是Dollar
字符串3: 我喜欢玩游戏Ludo
结果1: 6
结果2: 1
结果3: 20
结果4: 0