DP
Size: a a a
DP
N
N
N
ЕС
ЕС
ЕС
ЕС
ЕС
ЕС
ЕС
mm
IK
IK
OK
strings.ToLower() либо у них есть функция для небольших строк, которая использует свой ToLower (copyLower) - в этом подходе она запихивает всё в буффер там уменьшает занчения.strings.ToLower() - вообще работает с map,strings.Replace - работает без alloc, но это достаточно долгое решениеfunc normalise(ua string) string {
if len(ua) <= 1024 {
var buf [1024]byte
ascii := copyLower(buf[:len(ua)], ua)
if !ascii {
// Fall back for non ascii charactersreturn strings.ToLower(ua)
}
return string(buf[:len(ua)])
}
// Fallback for unusually long stringsreturn strings.ToLower(ua)
}func copyLower(b []byte, s string) bool {
for j := 0; j < len(s); j++ {
c := s[j]
if c > 127 {
return false
} else {
if 'A' <= c && c <= 'Z' {
c += 'a' - 'A'
}
}
b[j] = c
}
return true
}OJ
SP
GOPRIVATE, то можно указать просто домен, или же обязательно писать со схемой подключения https or ssh ?