Char in Go
Char in Go
In Go, a character is represented by a single UTF-8 encoded Unicode code point. This is typically a 32-bit integer value, although for some code points it may be a 16-bit or 8-bit value.
To declare a character variable in Go, we can use the rune type, which is an alias for the int32 type and is used to represent a single Unicode code point. For example:
var ch rune = 'A'
fmt.Printf("%c\n", ch) // prints "A"
In this example, we declare a rune variable named ch and assign it the Unicode code point for the capital letter “A”. We then print the character using the %c format specifier, which outputs the corresponding Unicode character.
Go also provides several built-in functions for working with characters, such as len(), strconv.QuoteRune(), and unicode.IsDigit(). For example:
ch := '1'
fmt.Println(len(string(ch))) // prints "1"
quoted := strconv.QuoteRune(ch)
fmt.Println(quoted) // prints "'1'"
isDigit := unicode.IsDigit(ch)
fmt.Println(isDigit) // prints "true"
In this example, we declare a rune variable named ch and assign it the Unicode code point for the digit “1”. We then use the len() function to get the length of a string containing the character, the strconv.QuoteRune() function to get a quoted representation of the character, and the unicode.IsDigit() function to check if the character is a digit.
Find a character in a string
To look for a specific letter in a string in Go, you can iterate over each character in the string and check if it matches the desired letter. Here’s an example:
func containsLetter(str string, letter rune) bool {
for _, ch := range str {
if ch == letter {
return true
}
}
return false
}
func main() {
str := "hello world"
letter := 'o'
if containsLetter(str, letter) {
fmt.Printf("The string '%s' contains the letter '%c'\n", str, letter)
} else {
fmt.Printf("The string '%s' does not contain the letter '%c'\n", str, letter)
}
}
In this example, we define a function called containsLetter() that takes a string and a letter (rune) as arguments and returns true if the string contains the letter and false otherwise. The function iterates over each character in the string using a for loop, and checks if the character matches the desired letter using an if statement.
We then call the containsLetter() function in the main() function with a test string and letter, and print a message indicating whether the string contains the letter or not.