How to make the first letter of a string lowercase in Go Language?
How to make the first letter of a string lowercase, but not change the case of any of the other letters?
For example:
"Go language is awesome" → "go language is awesome"
"Hello world" → "hello world"
Solution 1:
package main
import (
"unicode"
"unicode/utf8"
)
// Main function
func main() {
str := "Go language is awesome"
println(firstToLower(str))
}
func firstToLower(s string) string {
if len(s) > 0 {
r, size := utf8.DecodeRuneInString(s)
if r != utf8.RuneError || size > 1 {
lower := unicode.ToLower(r)
if lower != r {
s = string(lower) + s[size:]
}
}
}
return s
}
Output:
Solution 2: Easy
package main
import "strings"
// Main function
func main() {
str := "Go language is awesome"
str = strings.ToLower(string(str[0])) + str[1:]
println(str)
}
Output: