计算 Golang 字符串中重复单词的数量
在许多应用程序中,计算单词在字符串中出现的次数非常重要。这对于生成词频计数、分析文本数据和许多其他任务都很有用。在本文中,我们将探讨如何计算 Golang 字符串中重复单词的数量。
步骤 1:将字符串转换为单词数组
计算重复单词的第一步是将字符串转换为单词数组。这可以使用 strings.Split() 函数来完成,该函数根据分隔符将字符串拆分为子字符串数组。
例如,考虑以下字符串 -
str := "the quick brown fox jumps over the lazy dog"
要将此字符串转换为单词数组,我们可以使用以下代码 -
words := strings.Split(str, " ")
这会将字符串拆分为单词数组,其中数组中的每个元素都是一个单独的单词。
第 2 步:创建用于存储单词计数的映射
下一步是创建一个映射来存储每个单词的计数。在 Golang 中,映射是一种内置数据结构,允许我们存储键值对。我们可以使用一个映射来存储每个单词的计数,其中键是单词,值是计数。
我们可以使用以下代码创建一个空映射 -
wordCount := make(map[string]int)
这将创建一个带有字符串键和整数值的空映射。
步骤 3:计算每个单词的出现次数
一旦我们有了单词数组和空映射,我们就可以遍历数组中的每个单词并增加映射中相应键的计数。
for _, word := range words { _, exists := wordCount[word] if exists { wordCount[word] += 1 } else { wordCount[word] = 1 } }
此代码遍历 words 数组中的每个单词,并检查该单词是否作为 wordCount 映射中的键存在。如果该单词存在,它将键的计数加一。如果该单词不存在,它将该单词作为新键添加到映射中,计数为一。
步骤 4:打印结果
最后,我们可以打印单词计数的结果。我们可以使用 for 循环迭代 wordCount 映射中的键和值,并打印每个键值对。
for key, value := range wordCount { fmt.Printf("%s: %d\n", key, value) }
此代码迭代 wordCount 映射中的每个键值对,并将键和值打印到控制台。
将它们放在一起
以下是用于计算 Golang 字符串中重复单词的完整代码 -
示例
package main import ( "fmt" "strings" ) func main() { str := "the quick brown fox jumps over the lazy dog" words := strings.Split(str, " ") wordCount := make(map[string]int) for _, word := range words { _, exists := wordCount[word] if exists { wordCount[word] += 1 } else { wordCount[word] = 1 } } for key, value := range wordCount { fmt.Printf("%s: %d\n", key, value) } }
输出
brown: 1 fox: 1 jumps: 1 over: 1 lazy: 1 dog: 1 the: 2 quick: 1
结论
计算 Golang 字符串中重复单词的数量对于许多应用程序来说都是一项有用的技术。通过将字符串拆分为单词数组并使用映射来存储每个单词的数量,我们可以快速