package main
import (
"fmt"
"strings"
"unicode"
)
// Function to convert a string to title case
func ToTitleCase(s string) string {
words := strings.Fields(s) // Split string into words
var titleCasedWords []string
for _, word := range words {
if len(word) > 0 {
runes := []rune(word)
runes[0] = unicode.ToUpper(runes[0]) // Convert first letter to uppercase
for i := 1; i < len(runes); i++ {
runes[i] = unicode.ToLower(runes[i]) // Convert remaining letters to lowercase
}
titleCasedWords = append(titleCasedWords, string(runes))
}
}
return strings.Join(titleCasedWords, " ")
}
func main() {
str := "In the beginning there was nothing, which exploded."
fmt.Println(ToTitleCase(str))
}
/*
run:
In The Beginning There Was Nothing, Which Exploded.
*/