// isLower checks if a character is lower case. More precisely it evaluates if it is // in the range of ASCII character 'a' to 'z'. func isLower(ch rune) bool { … } // toLower converts a character in the range of ASCII characters 'A' to 'Z' to its lower // case counterpart. Other characters remain the same. func toLower(ch rune) rune { … } // isLower checks if a character is upper case. More precisely it evaluates if it is // in the range of ASCII characters 'A' to 'Z'. func isUpper(ch rune) bool { … } // toLower converts a character in the range of ASCII characters 'a' to 'z' to its lower // case counterpart. Other characters remain the same. func toUpper(ch rune) rune { … } // isSpace checks if a character is some kind of whitespace. func isSpace(ch rune) bool { … } // isDelimiter checks if a character is some kind of whitespace or '_' or '-'. func isDelimiter(ch rune) bool { … } type iterFunc … // stringIter iterates over a string, invoking the callback for every single rune in the string. func stringIter(s string, callback iterFunc) { … }