package main
import (
"bufio"
"fmt"
"io"
"os"
)
type CharCount struct {
ChCount int // 记录英文个数
NumCount int // 记录数字个数
SpaceCount int // 记录空格个数
OtherCount int // 记录其他字符个数
}
func main() {
file, _ := os.Open("d:/test.txt")
reader := bufio.NewReader(file)
var charCount CharCount
for true {
str, err := reader.ReadString('\n')
strs := []rune(str)
if err == io.EOF {
break
}
for _, v := range strs {
switch {
case v >= 0 && v <= 9:
charCount.NumCount++
case v >= 'a' && v <= 'z':
fallthrough
case v >= 'A' && v <= 'Z':
charCount.ChCount++
case v == ' ' || v == '\t':
charCount.SpaceCount++
default:
charCount.OtherCount++
}
}
}
fmt.Printf("英文数量:%v,数字个数:%v,空格个数:%v,其他字符:%v", charCount.ChCount,
charCount.NumCount, charCount.SpaceCount, charCount.OtherCount)
}
golang 统计文件中 英文/数字/空格及其他字符的个数 练习
最新推荐文章于 2022-05-23 23:02:41 发布