mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jrosendo
2b02ed5fbd
|
2 years ago | |
---|---|---|
.. | ||
README.md | 2 years ago |
README.md
cameltosnakecase
Instructions
Write a function that converts a string
from camelCase
to snake_case
.
- If the
string
is empty, return an emptystring
. - If the
string
is notcamelCase
, return thestring
unchanged. - If the
string
iscamelCase
, return thesnake_case
version of thestring
.
For this exercise you need to know that camelCase
has two different writing alternatives that will be accepted:
- lowerCamelCase
- UpperCamelCase
Rules for writing in camelCase
:
- The word does not end on a capitalized letter (CamelCasE).
- No two capitalized letters shall follow directly each other (CamelCAse).
- Numbers or punctuation are not allowed in the word anywhere (camelCase1).
Expected function
func CamelToSnakeCase(s string) string{
}
Usage
Here is a possible program to test your function:
package main
import (
"fmt"
"piscine"
)
func main() {
fmt.Println(piscine.CamelToSnakeCase("HelloWorld"))
fmt.Println(piscine.CamelToSnakeCase("helloWorld"))
fmt.Println(piscine.CamelToSnakeCase("camelCase"))
fmt.Println(piscine.CamelToSnakeCase("CAMELtoSnackCASE"))
fmt.Println(piscine.CamelToSnakeCase("camelToSnakeCase"))
fmt.Println(piscine.CamelToSnakeCase("hey2"))
}
And its output:
$ go run .
Hello_World
hello_World
camel_Case
CAMELtoSnackCASE
camel_To_Snake_Case
hey2