85 lines
2.1 KiB
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")
|
|
}
|