diff --git a/names/mapper.go b/names/mapper.go index e7561a83..80aa48d5 100644 --- a/names/mapper.go +++ b/names/mapper.go @@ -78,27 +78,12 @@ func (m SameMapper) Table2Obj(t string) string { type SnakeMapper struct { } -func snakeCasedName(name string) string { - newstr := make([]rune, 0) - for idx, chr := range name { - if isUpper := 'A' <= chr && chr <= 'Z'; isUpper { - if idx > 0 { - newstr = append(newstr, '_') - } - chr -= ('A' - 'a') - } - newstr = append(newstr, chr) - } - - return string(newstr) -} - func b2s(b []byte) string { return *(*string)(unsafe.Pointer(&b)) } -func snakeCasedNameNew(name string) string { - newstr := make([]byte, 0, len(name)) +func snakeCasedName(name string) string { + newstr := make([]byte, 0, len(name)+1) for i := 0; i < len(name); i++ { c := name[i] if isUpper := 'A' <= c && c <= 'Z'; isUpper { diff --git a/names/mapper_test.go b/names/mapper_test.go index 6945b84c..5c6dc5d9 100644 --- a/names/mapper_test.go +++ b/names/mapper_test.go @@ -58,13 +58,3 @@ func BenchmarkSnakeCasedName(b *testing.B) { _ = snakeCasedName(s) } } - -func BenchmarkSnakeCasedNameNew(b *testing.B) { - b.ReportAllocs() - b.ResetTimer() - - s := strings.Repeat("FooBar", 32) - for i := 0; i < b.N; i++ { - _ = snakeCasedNameNew(s) - } -}