Maison > développement back-end > Golang > caractère golang dans un tableau

caractère golang dans un tableau

WBOY
Libérer: 2023-05-12 20:34:35
original
818 Les gens l'ont consulté

Golang est un langage de programmation lancé par Google. Son objectif de conception est d'améliorer l'efficacité et la maintenabilité du développement logiciel. Dans Golang, les caractères et les chaînes sont deux types de données différents, mais nous rencontrons souvent le besoin de convertir une chaîne en un tableau de caractères. Cet article explique comment convertir des caractères en tableaux dans Golang.

Dans Golang, les notions de caractères et de chaînes sont relativement claires. Un caractère est un point de code Unicode et occupe 4 octets ; tandis qu'une chaîne est une séquence de plusieurs caractères, codée en UTF-8, et chaque caractère occupe 1 à 4 octets. Par conséquent, lorsque nous devons convertir une chaîne en un tableau de caractères, nous devons nous poser les questions suivantes :

  • Quel est le type d'élément du tableau de caractères ?
  • Quelle est la longueur du tableau de caractères ?
  • Comment convertir une chaîne en tableau de caractères ?

Nous les expliquerons un par un ci-dessous.

  1. Type d'élément du tableau de caractères

Dans Golang, le type de données du caractère est rune, qui est un alias de type int32. Par conséquent, lorsque nous définissons un tableau de caractères, son type d’élément doit être rune.

var arr []rune
Copier après la connexion
  1. La longueur du tableau de caractères

Dans Golang, vous pouvez utiliser la fonction len() pour obtenir la longueur d'une chaîne, mais la longueur de la chaîne n'est pas égale au nombre de caractères qu'elle contient. Étant donné qu'un caractère Unicode peut être composé de plusieurs octets, la longueur d'une chaîne n'est souvent pas la même que le nombre de caractères qu'elle contient. Afin de convertir correctement une chaîne en un tableau de caractères, nous devons utiliser les fonctions du package unicode/utf8 pour compter le nombre de caractères que contient la chaîne.

import "unicode/utf8"

func countChars(s string) int {
    return utf8.RuneCountInString(s)
}

length := countChars("Hello, world!")
arr := make([]rune, length)
Copier après la connexion
  1. Convertir une chaîne en tableau de caractères

Golang fournit deux fonctions pour convertir une chaîne en tableau de caractères : []rune() et []byte(). Parmi eux, []rune() convertit une chaîne en un tableau de type rune, chaque caractère occupe 4 octets ; []byte() convertit une chaîne en un tableau de type octet, chaque caractère occupe 1 octet, mais des caractères tronqués peuvent apparaître .

s := "Hello, 世界"
arr := []rune(s)  // 将字符串s转换成rune类型的数组
Copier après la connexion

Le code complet est le suivant :

package main

import (
    "fmt"
    "unicode/utf8"
)

func countChars(s string) int {
    return utf8.RuneCountInString(s)
}

func main() {
    s := "Hello, 世界"
    length := countChars(s)
    arr := make([]rune, length)

    for i, c := range s {
        arr[i] = c
    }

    fmt.Println(arr)
}
Copier après la connexion

Les résultats d'exécution sont les suivants :

[72 101 108 108 111 44 32 19990 30028]
Copier après la connexion

Grâce à l'introduction de cet article, nous avons appris comment convertir une chaîne en un tableau de caractères dans Golang. Ceci est utile pour travailler avec des données texte et implémenter des algorithmes sur des chaînes.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal