github.com/chanxuehong/wechat@v0.0.0-20230222024006-36f0325263cd/internal/util/to_lower.go (about) 1 package util 2 3 // ToLower 返回字符串对应的小写版本. 4 // 5 // 如果确定 s 是[a-zA-Z0-9_-] 的组合, 那么可以用这个函数, 否则请用 strings.ToLower! 6 func ToLower(s string) string { 7 var b []byte 8 for i := 0; i < len(s); i++ { 9 c := s[i] 10 if c > 'Z' || c < 'A' { 11 if b != nil { 12 b[i] = c 13 } 14 } else { 15 c += 'a' - 'A' 16 if b == nil { 17 b = make([]byte, len(s)) 18 copy(b, s[:i]) 19 } 20 b[i] = c 21 } 22 } 23 if b != nil { 24 return string(b) 25 } 26 return s 27 }