Go   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了golang 一行一行读文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
package main

import (
        "bufio"
        "fmt"
        "os"
)
func main() {
        counts := make(map[string]int)
        files := os.Args[1:]
        if len(files) == 0 {
                countLines(os.Stdin,counts)
        } else {
                for _,arg := range files {
                        f,err := os.Open(arg)
                        if err != nil {
                                fmt.Fprintf(os.Stderr,"dup2: %v\n",err)
                                continue
                        }
                        countLines(f,counts)
                        f.Close()
                }
        }
        for line,n := range counts {
                fmt.Printf("%d\t%s\n",n,line)
        }
}

func countLines(f *os.File,counts map[string]int) {
        input := bufio.NewScanner(f)
        for input.Scan() {
                counts[input.Text()]++
        }
        // NOTE: ignoring potential errors from input.Err()
}


go run main.go a.txt


另一种方法

package main

import (
	"fmt"
	"io/IoUtil"
	"os"
	"strings"
)

func main() {
	counts := make(map[string]int)
	for _,filename := range os.Args[1:] {
		data,err := IoUtil.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",line)
		}
	}
}

大佬总结

以上是大佬教程为你收集整理的golang 一行一行读文件全部内容,希望文章能够帮你解决golang 一行一行读文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: