| | |
| | | logger.Error("比对规则有误", err.(string)) |
| | | } |
| | | }() |
| | | logger.Warn("+++++++++++规则开始运行+++++++++++++++++当前规则--:", *groupRule) |
| | | logger.Info("+++++++++++规则开始运行+++++++++++++++++当前规则--:", *groupRule) |
| | | resultSplice := []*LittleRuleResult{} |
| | | // 先过完条件规则 |
| | | for j := 0; j < len(groupRule.Rules); j++ { |
| | |
| | | for _, obj := range am.filterData { |
| | | for index := 0; index < len(obj.Liker); { |
| | | // 将达不到阈值的相似者从相似者数组中删除 |
| | | if float64(obj.Liker[index].CompareScore) < argValue { |
| | | if float64(obj.Liker[index].CompareScore * 100) < argValue { |
| | | // Go 语言中切片删除元素的本质是:以被删除元素为分界点,将前后两个部分的内存重新连接起来。不用怀疑,数组删除元素就这么坑爹 |
| | | obj.Liker = append(obj.Liker[:index], obj.Liker[index+1:]...) |
| | | } else { |