使用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
}
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
站在用户的角度思考问题,与客户深入沟通,找到闻喜网站设计与闻喜网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名申请、网站空间、企业邮箱。业务覆盖闻喜地区。当前题目:使用Go语言优雅地统计单词个数-创新互联
本文链接:http://ybzwz.com/article/ghodg.html