stringcase is a Go package for converting strings between different naming conventions (snake_case, camelCase, PascalCase, kebab-case, and more).
go get github.com/xogas/stringcasestringcase.ToSnake("testCase") // "test_case"
stringcase.ToSnake("JSONData") // "json_data"stringcase.ToSnakeUpper("testCase") // "TEST_CASE"
stringcase.ToSnakeUpper("jsonData") // "JSON_DATA"stringcase.ToCamel("test case") // "testCase"
stringcase.ToCamel("test_case") // "testCase"
stringcase.ToCamel("Test-Case") // "testCase"
stringcase.ToCamel("v_2_bate_3") // "v2Bate3"stringcase.ToPascal("test case") // "TestCase"
stringcase.ToPascal("test_case") // "TestCase"
stringcase.ToPascal("test-case") // "TestCase"
stringcase.ToPascal("v_2_bate_3") // "V2Bate3"stringcase.ToKebab("testCase") // "test-case"
stringcase.ToKebab("Test Case") // "test-case"
stringcase.ToKebabUpper("testCase") // "TEST-CASE"stringcase.ToDelimited("testCase", '.') // "test.case"
stringcase.ToDelimitedUpper("testCase", '.') // "TEST.CASE"import "github.com/xogas/stringcase"
func init() {
// "API" will be converted to "api" in camelCase,
// and to "Api" in PascalCase
stringcase.ConfigureAcronyms("API", "api")
// ToCamel("API") -> "api"
// ToPascal("API") -> "Api"
}| Function | Description |
|---|---|
ToSnake(s) |
Converts to snake_case |
ToSnakeUpper(s) |
Converts to UPPER_SNAKE_CASE |
ToCamel(s) |
Converts to camelCase |
ToPascal(s) |
Converts to PascalCase |
ToKebab(s) |
Converts to kebab-case |
ToKebabUpper(s) |
Converts to UPPER-KEBAB-CASE |
ToDelimited(s, delimiter) |
Converts using a custom delimiter |
ToDelimitedUpper(s, delimiter) |
Converts using a custom delimiter, uppercased |
ConfigureAcronyms(key, val) |
Registers an acronym for case conversion |
The MIT License (MIT) — see license for more details.