Maison  >  Article  >  développement back-end  >  Brève analyse du type de rune dans Golang

Brève analyse du type de rune dans Golang

藏色散人
藏色散人avant
2021-12-01 14:28:006659parcourir

Cet article vous est présenté par la rubrique tutoriel go language sur les types de runes golang. J'espère qu'il sera utile aux amis dans le besoin !

type de rune en golang

En golang, la rune est équivalente à int32, mais est généralement utilisée pour la conversion de caractères. La méthode len() de Golang calcule principalement la longueur du tableau.

Le stockage de chaîne par défaut dans Golang est au format utf8. utf8 utilise un stockage d'octets de longueur variable. Les lettres anglaises sont stockées dans un seul octet et le chinois est stocké dans 3 octets. Par conséquent, les résultats d'exécution de -1 et -2 sont 16. et 15 . Il existe deux manières dans Golang : utf8.RuneCountInString et []rune() pour convertir utf8 en stockage int32 de 4 octets, puis calculer la longueur du tableau int32.

 -1
 address := "this is shanghai"
 fmt.Println("len(address):",len(address))
 
 -2
 address := "this is shanghai"
 fmt.Println("len(address):",len(address))
 
 -3
 addressThree := "这是在上海"     
 fmt.Println("len(address):",utf8.RuneCountInString(addressThree))

 -4
 fmt.Println("len(address):",len([]rune(addressThree)))
 
 -5 
 unicode.Is(unicode.Han, c) //可以判断字符是否是汉语

Résultats

-1 
len(address): 16

-2
len(address): 15

-3
len(address): 5

-4
len(address): 5

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer