使用Go语言优雅地统计单词个数

type WordCounter int

func (c *WordCounter) Write(p []byte) (int, error) {
    scanner := bufio.NewScanner(bytes.NewReader(p))
    // set the split function for the scanning operation
    scanner.Split(bufio.ScanWords)
    // Count the words
    count := 0
    for scanner.Scan() {
        count++
    }
    if err := scanner.Err(); err != nil {
        return -1, err
    }
    *c += WordCounter(count)
    return len(p), nil
}

func main() {
    input := "Spicy jalapeno pastrami ut ham turducken.\n Lorem sed ullamco, leberkas sint short loin strip steak ut shoulder shankle porchetta venison prosciutto turducken swine.\n Deserunt kevin frankfurter tongue aliqua incididunt tri-tip shank nostrud.\n"

    var c WordCounter
    _, err := fmt.Fprintf(&c, "%s", input)
    if nil != err {
        log.Fatal(err)
    }
    fmt.Println(c)  // 32

}

网页名称:使用Go语言优雅地统计单词个数
标题网址:http://hxwzsj.com/article/jcccoj.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 手机网站建设 上市集团网站建设 成都网站建设公司 响应式网站设计 网站设计 成都网站建设 做网站设计 外贸网站设计方案 成都网站制作 泸州网站建设 成都网站制作 成都网站制作 重庆网站设计 成都网站设计 手机网站制作 四川成都网站设计 广安网站设计 成都网站建设公司 公司网站建设 成都网站设计 成都网站建设 成都网站制作