Représentation alphabétique d'un nombre en Golang
Introduction :
Convertir un nombre en son la représentation alphabétique correspondante peut être une tâche utile dans divers scénarios. Cet article explore plusieurs façons d'effectuer cette conversion efficacement dans le langage de programmation Go.
Numéro en Rune (caractère) :
L'approche la plus simple consiste à ajouter le nombre à la valeur ASCII de 'A' moins 1. Cela vous donnera la rune correspondant au caractère alphabétique. Par exemple, ajouter 1 à « A » - 1 donne « A », ajouter 2 donne « B », et ainsi de suite.
Exemple de code :
<code class="go">import "fmt" func toChar(i int) rune { return rune('A' - 1 + i) } func main() { fmt.Printf("%d %q\n", 1, toChar(1)) fmt.Printf("%d %q\n", 2, toChar(2)) fmt.Printf("%d %q\n", 23, toChar(23)) }</code>
Nombre en chaîne :
Si une représentation sous forme de chaîne est requise, convertissez simplement la rune renvoyée par la méthode précédente en chaîne.
Exemple de code :
<code class="go">import "fmt" func toCharStr(i int) string { return string('A' - 1 + i) } func main() { fmt.Printf("%d %q\n", 1, toCharStr(1)) fmt.Printf("%d %q\n", 2, toCharStr(2)) fmt.Printf("%d %q\n", 23, toCharStr(23)) }</code>
Numéro en chaîne (mis en cache) :
Si la conversion doit être effectuée fréquemment, il peut être plus efficace de mettre en cache les chaînes. Cela peut être fait en stockant un tableau de tous les caractères alphabétiques.
Exemple de code :
<code class="go">import "fmt" 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() { fmt.Printf("%d %q\n", 1, toCharStrArr(1)) fmt.Printf("%d %q\n", 2, toCharStrArr(2)) fmt.Printf("%d %q\n", 23, toCharStrArr(23)) }</code>
Numéro en chaîne (constante de chaîne de découpage) :
Une autre solution intéressante consiste à découper une chaîne constante pour obtenir le caractère souhaité.
Exemple de code :
<code class="go">import "fmt" const abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" func toCharStrConst(i int) string { return abc[i-1 : i] } func main() { fmt.Printf("%d %q\n", 1, toCharStrConst(1)) fmt.Printf("%d %q\n", 2, toCharStrConst(2)) fmt.Printf("%d %q\n", 23, toCharStrConst(23)) }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!