go4kids/strings.go

85 lines
2.1 KiB
Go

package go4kids
import (
"fmt"
"strings"
)
// Normalise is a function that returns a lowercase version of a string with leading and trailing whitespace removed.
func Normalise(s string) string {
return strings.TrimSpace(strings.ToLower(s))
}
// ReverseString is a function that reverses a string and returns the result.
func ReverseString(s string) string {
// Create a slice of runes from the string.
runes := []rune(s)
// Iterate over the slice of runes.
for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
// Swap the two runes.
runes[i], runes[j] = runes[j], runes[i]
}
// Return the resulting string.
return string(runes)
}
// PrintRed is a function that prints a string in red.
func PrintRed(s string) {
fmt.Printf("\033[31m%s\033[0m", s)
}
// PrintGreen is a function that prints a string in green.
func PrintGreen(s string) {
fmt.Printf("\033[32m%s\033[0m", s)
}
// PrintYellow is a function that prints a string in yellow.
func PrintYellow(s string) {
fmt.Printf("\033[33m%s\033[0m", s)
}
// PrintBlue is a function that prints a string in blue.
func PrintBlue(s string) {
fmt.Printf("\033[34m%s\033[0m", s)
}
// PrintMagenta is a function that prints a string in magenta.
func PrintMagenta(s string) {
fmt.Printf("\033[35m%s\033[0m", s)
}
// PrintCyan is a function that prints a string in cyan.
func PrintCyan(s string) {
fmt.Printf("\033[36m%s\033[0m", s)
}
// PrintWhite is a function that prints a string in white.
func PrintWhite(s string) {
fmt.Printf("\033[37m%s\033[0m", s)
}
// PrintBold is a function that prints a string in bold.
func PrintBold(s string) {
fmt.Printf("\033[1m%s\033[0m", s)
}
// PrintUnderline is a function that prints a string in underline.
func PrintUnderline(s string) {
fmt.Printf("\033[4m%s\033[0m", s)
}
// PrintClear is a function that clears the terminal screen.
func PrintClear() {
fmt.Println("\033[2J")
}
// PrintClearLine is a function that clears the current line.
func PrintClearLine() {
fmt.Println("\033[K")
}
// PrintReset is a function that resets the terminal to its default state.
func PrintReset() {
fmt.Println("\033[0m")
}