package main

import (
    "os"
    "fmt"
    "bufio"
)

func main() {
    if len(os.Args) < 2 {
        fmt.Println("参数不能小于2个")
        return
    }
    filename := os.Args[1]
    file, err := os.Open(filename)
    if err != nil {
        fmt.Println(err)
        return
    }
    defer file.Close()
    var line int //行号
    reader := bufio.NewReader(file)
    for {
        _, isPrefix, err := reader.ReadLine() //isPrefix可以通过多次读取将文件读取完毕
        if err != nil {
            break
        }
        if !isPrefix {
            line++
        }
    }
    fmt.Println(line)
}

统计文件行数_第1张图片
(最后一行的空行不算在内)
输出:
统计文件行数