zoukankan      html  css  js  c++  java
  • go 计算文件行

    package main
    
    import (
    	"bufio"
    	"fmt"
    	"os"
    )
    
    func main() {
    	
    	//判断命令行参数,小于两个不执行
    	if len(os.Args) < 2 {
    		return
    	}
    	
    	//获取命令行参数里的文件名
    	filename := os.Args[1]
    	
    	file, err := os.Open(filename)
    	if err != nil {
    		fmt.Println(err)
    		return
    	}
    
    	//defer延时到整个main程序结束时调用文件关闭操作
    	defer file.Close()
    
    	//定义行变量
    	var line int
    	
    	//通过bufio读取文件
    	reader := bufio.NewReader(file)
    	
    	//循环读取文件里的每一行
    	for {
    		_, isPrefix, err := reader.ReadLine()
    		if err != nil {
    			break
    		}
    
    		//对超宽行的判断,这一行是有效的
    		if !isPrefix {
    			line++
    
    		}
    
    	}
    	fmt.Println(line)
    
    }
    

      执行结果:

  • 相关阅读:
    冲刺2 05
    冲刺02 04
    人月神话阅读笔记01
    进度条
    团队冲刺第十天
    团队冲刺第九天
    学习进度条13
    团队冲刺第八天
    怎样买书更便宜
    冲刺第七天
  • 原文地址:https://www.cnblogs.com/saryli/p/11064501.html
Copyright © 2011-2022 走看看