Arahan wc ialah perintah yang sangat biasa digunakan, digunakan untuk mengira bilangan aksara, perkataan, baris dan maklumat lain dalam fail. Pada terminal Linux atau Unix, anda hanya perlu menggunakan "nama fail wc" untuk mengira maklumat terperinci fail. Jadi bagaimana kita melaksanakan fungsi ini dalam golang?
Pertama, kita perlu mencipta fail dan menulis beberapa ayat ke dalam fail tersebut Kemudian kita membaca kandungan fail dan mengira bilangan aksara, perkataan, baris dan maklumat lain. Kod tersebut adalah seperti berikut:
package main import ( "bufio" "fmt" "os" "strings" ) func main() { fileName := "test.txt" // 文件名 // 打开文件 file, err := os.Open(fileName) if err != nil { panic(err) } defer file.Close() // 初始化变量 wordCount := 0 // 单词个数 lineCount := 0 // 行数 charCount := 0 // 字符数 // 逐行读取文件内容 scanner := bufio.NewScanner(file) for scanner.Scan() { lineCount++ // 行数加1 // 统计单词数量 words := strings.Fields(scanner.Text()) // 将每行的内容按照空格划分 wordCount += len(words) // 累加单词个数 // 统计字符数量 charCount += len(scanner.Text()) } // 输出统计结果 fmt.Printf("lines:%d,words:%d,chars:%d\n", lineCount, wordCount, charCount) }
Seperti yang anda lihat, keseluruhan kod adalah sangat ringkas dan jelas Ia dilaksanakan terutamanya dengan membaca kandungan fail, membahagikan perkataan dan mengira bilangan aksara. Anda boleh menjalankannya untuk melihat sama ada output adalah seperti yang diharapkan. Sudah tentu program ini boleh dipertingkatkan lagi untuk menjadikan fungsinya lebih lengkap.
Ringkasan
Melalui contoh ini, kita boleh belajar cara membaca dan menulis fail dalam golang serta cara melakukan pemprosesan rentetan dan statistik. Dalam pembangunan sebenar, kami boleh mengubah suai dan menambah baik program mengikut keperluan kami sendiri, dan boleh menggabungkan ciri seperti goroutine dan saluran untuk mencapai operasi pemprosesan fail yang lebih cekap.
Atas ialah kandungan terperinci Cara melaksanakan wc di golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!