与go可能暂时分别了,来日方长,也许未来还能相遇,但是目前就这样把,不再会去关注相关的内容了。
但是好歹也有过一星期的接触啊,写过的代码不能就这样白白浪费掉,还是得贴出来,虽然没什么作用,就当做是一种经历吧,就好比,有些无意义的照片,我们照了仍然会存下来,也许未来某一天看到了,想到的绝不仅仅只是图片上的场景吧。
嗯,其实我还是很喜欢go语言的,未来若是有缘,会再见的。
type CCount struct {
OpenID string
UnionID string
NickName string
Text map[string]int
sum_time int
}
func (w *WeChatRecordHandler) Count(c *gin.Context) {
go func() {
res, err := w.Db.List(&recorddb.AudioRecord{})
if err != nil {
log.Error(err)
return
}
mp := make(map[string]int)
ans := make([]CCount, 500)
cnt := 1
for i := 0; i < len(res); i++ {
if mp[res[i].OpenID] == 0 {
mp[res[i].OpenID] = cnt
cnt = cnt + 1
ans[mp[res[i].OpenID]].OpenID = res[i].OpenID
ans[mp[res[i].OpenID]].UnionID = res[i].UnionID
ans[mp[res[i].OpenID]].NickName = res[i].NickName
ans[mp[res[i].OpenID]].Text = make(map[string]int)
}
ans[mp[res[i].OpenID]].sum_time++
ans[mp[res[i].OpenID]].Text[res[i].Text] = ans[mp[res[i].OpenID]].Text[res[i].Text] + 1
}
for i := 1; i < cnt; i++ {
fmt.Printf("%s %s %s : %d\n", ans[i].OpenID, ans[i].UnionID, ans[i].NickName, ans[i].sum_time)
for k, v := range ans[i].Text {
fmt.Printf("%s : %d | ", k, v)
}
fmt.Println("")
}
}()
c.String(http.StatusOK, "Finished!Please see the result on the terminal!")
}