golang 一行一行读文件
来源:互联网 发布:雪梨淘宝店名叫什么 编辑:程序博客网 时间:2024/06/05 20:49
package mainimport ( "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 mainimport ("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", n, line)}}}
0 0
- golang 一行一行读文件
- 一行一行读文件
- C语言一行一行读文件
- bash shell 一行一行读文件
- C++一行一行的读文件
- 封装的一行一行读文件的方法
- 封装的一行一行读文件的方法
- 封装的一行一行读文件的方法
- 封装的一行一行读文件的方法
- ifstream一行一行的读TXT文件
- 在linux中一行一行的读文件
- java 中实现一行一行地读文件和一行一行地追加写文件
- java一行一行写入文件
- 读一个文件,从头到尾的读,不是一行一行的读
- C/C++从文件末尾往前一行一行的读
- C++,java,python一行一行读文件的模版
- 如何在java中实现读文件(一行一行地读)和写文件(一行一行地追加写)
- 一行一行读Java源码
- 插件与主题
- [HDU 1796]How many integers can you find:容斥原理
- oralce监听配置允许访问本地数据库
- 拉格朗日插值方法示例
- 蓝桥杯JAVA语言B组_饮料换购
- golang 一行一行读文件
- iOS应用支持IPV6,就那点事儿
- HDU 2594 Simpsons’ Hidden Talents KMP
- React Native之TextInput自定义
- 个人记录-LeetCode 96. Unique Binary Search Trees
- org.apache.jasper.runtime.ELContextImpl cannot be cast to org.apache.jasper.el.ELContextImpl
- crash日志的本地记录
- 通用并发对象池的实现
- css如何清除浮动(五)