温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-08-01 19:48:19 来源:网络 阅读:552 作者:yeleven 栏目:编程语言
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

}
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI