文檔字符統計
尚硅谷Golang課
文檔字符統計
//保存結果用
type CharCount struct {
ChCount int //英文字數
NumCount int //
SpaceCount int
OtherCount int
}
func main() {
//思路 打開一個文件 創一個reader每讀取一行就去統計,將結果保存到一個結構體
fileName := "c:/abc.txt"
file, err := os.Open(fileName)
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
//來個實例
var count CharCount
reader := bufio.NewReader(file)
//開始讀取
for {
str, err := reader.ReadString('\n')
//這存在BUG 當行不換行做結尾就統計不到
if err == io.EOF {
break
}
for _, v := range str {
switch {
case v >= 'a' && v <= 'z':
fallthrough
case v >= 'A' && v <= 'Z':
count.ChCount++
case v == ' ' || v == '\t':
count.SpaceCount++
case v >= '0' && v <= '9':
count.NumCount++
default:
count.OtherCount++
}
}
}
fmt.Printf("字符=%v 數字=%v 空格=%v 其他=%v",
count.ChCount, count.NumCount, count.SpaceCount, count.OtherCount)
}
上次修改於 2021-08-01
此篇文章的評論功能已經停用。