龙空技术网

Go实现功能:打开输入的文件,统计重复的行数和字串

vip豆小豆 73

前言:

此时小伙伴们对“文本重复查询算法实现”大约比较珍视,同学们都想要了解一些“文本重复查询算法实现”的相关资讯。那么小编也在网摘上收集了一些有关“文本重复查询算法实现””的相关资讯,希望兄弟们能喜欢,同学们快快来了解一下吧!

文本文件name.json内容如下:

zhao,zhaozhaoa2lilik1k2Go 是一个开源的编程语言Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。Go 是一个开源的编程语言对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

这个简单的文本中,有几行是完全内容重复的,也就是重复的行内容,需要检测统计出来。

完整代码如下:

//打开输入的文件,统计重复的行数和字串package mainimport (	"fmt"	"os"	"strings")func main() {	counts := make(map[string]int)	for _, filename := range os.Args[1:] {		// data, err := ioutil.ReadFile(filename)		data, err := os.ReadFile(filename)		if err != nil {			fmt.Fprintf(os.Stderr, "dup3: %v\n", err)			continue		}		for _, line := range strings.Split(string(data), "\n") {			counts[line]++		}	}	for line, n := range counts {		if n > 1 {			fmt.Printf("%d\t%s\n", n, line)		}	}}

执行和统计输出如下:

运行结果

标签: #文本重复查询算法实现