Home > Article > Backend Development > How to Represent Numbers as Alphabetic Characters in Go?

English Alphabetic Representation of a Number
In Go, there are several methods to convert numbers into alphabetic characters.
Rune Conversion
Add the number to the constant 'A' - 1 to convert it to a rune. For instance, 3 becomes 'C', and 23 becomes 'W'.
<code class="go">import "fmt"
func toChar(i int) rune {
return rune('A' - 1 + i)
}
func main() {
for _, i := range []int{1, 2, 23, 26} {
fmt.Printf("%d %q\n", i, toChar(i))
}
}</code>
String Conversion
To get the alphabetic representation as a string, use:
<code class="go">func toCharStr(i int) string {
return string('A' - 1 + i)
}
func main() {
for _, i := range []int{1, 2, 23, 26} {
fmt.Printf("%d \"%s\"\n", i, toCharStr(i))
}
}</code>
Cached String Conversion
For repeated conversions, consider caching the strings in an array:
<code class="go">var arr = [...]string{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
func toCharStrArr(i int) string {
return arr[i-1]
}
func main() {
for _, i := range []int{1, 2, 23, 26} {
fmt.Printf("%d \"%s\"\n", i, toCharStrArr(i))
}
}</code>
String Constant Slicing
Another efficient option is to slice a constant string:
<code class="go">const abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
func toCharStrConst(i int) string {
return abc[i-1 : i]
}
func main() {
for _, i := range []int{1, 2, 23, 26} {
fmt.Printf("%d \"%s\"\n", i, toCharStrConst(i))
}
}</code>The above is the detailed content of How to Represent Numbers as Alphabetic Characters in Go?. For more information, please follow other related articles on the PHP Chinese website!