Qu'est-ce qu'une rune
en Go?
J'ai cherché sur Google mais Golang dit seulement en une ligne: rune
est un alias pour int32
.
Mais comment se fait-il que des entiers soient utilisés partout comme dans le cas du changement de cas?
Voici une fonction swapcase. Qu'est-ce que tous les <=
et -
?
Et pourquoi le switch
n'a-t-il pas d'arguments?
&&
devrait signifier et mais que signifie r <= 'z'
?
func SwapRune(r rune) rune {
switch {
case 'a' <= r && r <= 'z':
return r - 'a' + 'A'
case 'A' <= r && r <= 'Z':
return r - 'A' + 'a'
default:
return r
}
}
La plupart d'entre eux proviennent de http://play.golang.org/p/H6wjLZj6lW
func SwapCase(str string) string {
return strings.Map(SwapRune, str)
}
Je comprends que cela mappe rune
à string
pour qu'il puisse retourner la chaîne échangée. Mais je ne comprends pas exactement comment rune
ou byte
fonctionnent ici.