Golang字符串转蛇形

warning: 这篇文章距离上次修改已过377天,其中的内容可能已经有所变动。
func SnakeString(s string) string {
    data := make([]byte, 0, len(s)*2)
    j := false
    num := len(s)
    for i := 0; i < num; i++ {
        d := s[i]
        if i > 0 && d >= 'A' && d <= 'Z' && j {
            data = append(data, '_')
        }
        if d != '_' {
            j = true
        }
        data = append(data, d)
    }
    return strings.ToLower(string(data[:]))
}
最后修改于:2019年10月20日 11:54

添加新评论