mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-12-28 00:06:36 +08:00
修复日志内容可能过长而无法存入数据库的问题
This commit is contained in:
@@ -62,3 +62,23 @@ func Similar(s1 string, s2 string) float32 {
|
||||
|
||||
return (float32(count)/float32(l1) + float32(count)/float32(l2)) / 2
|
||||
}
|
||||
|
||||
// LimitString 限制字符串长度
|
||||
func LimitString(s string, maxLength int) string {
|
||||
if len(s) <= maxLength {
|
||||
return s
|
||||
}
|
||||
|
||||
if maxLength <= 0 {
|
||||
return ""
|
||||
}
|
||||
|
||||
var runes = []rune(s)
|
||||
var rs = len(runes)
|
||||
for i := 0; i < rs; i++ {
|
||||
if len(string(runes[:i+1])) > maxLength {
|
||||
return string(runes[:i])
|
||||
}
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
@@ -28,3 +28,15 @@ func TestSimilar(t *testing.T) {
|
||||
t.Log(utils.Similar("efgj", "hijk"))
|
||||
t.Log(utils.Similar("efgj", "klmn"))
|
||||
}
|
||||
|
||||
func TestLimitString(t *testing.T) {
|
||||
var a = assert.NewAssertion(t)
|
||||
a.IsTrue(utils.LimitString("", 4) == "")
|
||||
a.IsTrue(utils.LimitString("abcd", 0) == "")
|
||||
a.IsTrue(utils.LimitString("abcd", 5) == "abcd")
|
||||
a.IsTrue(utils.LimitString("abcd", 4) == "abcd")
|
||||
a.IsTrue(utils.LimitString("abcd", 3) == "abc")
|
||||
a.IsTrue(utils.LimitString("abcd", 1) == "a")
|
||||
a.IsTrue(utils.LimitString("中文测试", 1) == "")
|
||||
a.IsTrue(utils.LimitString("中文测试", 3) == "中")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user