php2go

Go 实现字符串相似度计算函数 Levenshtein 和 SimilarText

て烟熏妆下的殇ゞ 提交于 2021-01-31 05:00:54
【转】 http://www.syyong.com/Go/Go-implements-the-string-similarity-calculation-function-Levenshtein-and-SimilarText.html levenshtein() 和 similar_text() 是 PHP 内置的两个字符串相似度计算函数。Levenshtein 计算两个字符串之间的编辑距离,SimilarText 计算两个字符串的相似度。下面使用Go分别实现二者。 Levenshtein // levenshtein() // costIns: Defines the cost of insertion. // costRep: Defines the cost of replacement. // costDel: Defines the cost of deletion. func Levenshtein(str1, str2 string , costIns, costRep, costDel int ) int { var maxLen = 255 l1 : = len(str1) l2 : = len(str2) if l1 == 0 { return l2 * costIns } if l2 == 0 { return l1 * costDel } if l1 >