Table des matières
Contenu de la question
Solution
Maison développement back-end Golang Remplacer les caractères dans la chaîne en golang

Remplacer les caractères dans la chaîne en golang

Feb 09, 2024 pm 06:09 PM
字符串数组 overflow

Remplacer les caractères dans la chaîne en golang

En programmation golang, remplacer des caractères dans une chaîne est une opération courante. Que vous remplaciez un seul caractère ou plusieurs caractères, vous pouvez le faire en utilisant les fonctions et méthodes de chaîne intégrées. Dans cet article, nous allons vous présenter comment remplacer les caractères de chaîne dans Golang par l'éditeur PHP Xinyi. Que vous soyez débutant ou développeur expérimenté, cet article vous fournira des conseils concis et clairs pour vous aider à maîtriser cette technique en toute simplicité.

Contenu de la question

J'essaie de remplacer un caractère à une position spécifique dans un tableau de chaînes. Mon code ressemble à ceci :

package main

import (
    "fmt"
)

func main() {
    str := []string{"test","testing"}
    str[0][2] = 'y'
    fmt.Println(str)
}
Copier après la connexion

À l'heure actuelle, l'exécution de cette commande me donne l'erreur : 

cannot assign to str[0][2]
Copier après la connexion

Une idée de comment faire ça ? J'ai essayé d'utiliser strings.Replace mais pour autant que je sache, cela remplacera toutes les occurrences d'un caractère donné et je souhaite remplacer ce caractère spécifique. Toute aide est appréciée. TIA.

Solution

Les chaînes dans Go sont immuables, vous ne pouvez pas modifier leur contenu. Pour modifier la valeur d'une variable chaîne, vous devez attribuer une nouvelle valeur chaîne.

Un moyen simple consiste d'abord à convertir string en tranche d'octet ou de rune, à apporter des modifications et à reconvertir :

s := []byte(str[0])
s[2] = 'y'
str[0] = string(s)
fmt.Println(str)
Copier après la connexion

Cela affichera (essayez-le sur Go Playground) :

[teyt testing]
Copier après la connexion

Remarque : J'ai converti la chaîne en tranche byte car c'est ce qui se passe lorsque vous indexez une chaîne : elle indexe ses octets. byte 切片,因为这就是您索引字符串时发生的情况:它索引其字节。 string Stocke une séquence de texte UTF-8 octets, qui ne mappe pas nécessairement les octets aux caractères un à un.

Si vous devez remplacer le deuxième caractère, utilisez plutôt []rune :

s := []rune(str[0])
s[2] = 'y'
str[0] = string(s)
fmt.Println(str)
Copier après la connexion

Dans cet exemple, cela n'a pas d'importance, mais en général, c'est probablement le cas.

Notez également que strings.Replace() ne remplace pas (nécessairement) toutes les occurrences de :

func Replace(s, old, new string, n int) string
Copier après la connexion

Paramètre n indique le nombre maximum de substitutions à effectuer. Par conséquent, ce qui suit fonctionne également (essayez-le sur Go Playground) :

str[0] = strings.Replace(str[0], "s", "y", 1)
Copier après la connexion

Une autre solution pourrait être de découper la chaîne jusqu'au caractère remplaçable et de commencer par le caractère après le caractère remplaçable, puis de les concaténer (dans Aller au terrain de jeu) :

str[0] = str[0][:2] + "y" + str[0][3:]
Copier après la connexion

Des précautions doivent être prises ici aussi : l'index de tranche est un index d'octets, pas un index de caractère (rune).

Voir les questions connexes : Chaînes immuables et adresses de pointeurs p>

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser la fonction split() dans Oracle Comment utiliser la fonction split() dans Oracle May 07, 2024 pm 01:06 PM

La fonction SPLIT() divise une chaîne en un tableau par un délimiteur spécifié, renvoyant un tableau de chaînes où chaque élément est une partie séparée par un délimiteur de la chaîne d'origine. L'utilisation comprend : diviser une liste de valeurs séparées par des virgules dans un tableau, extraire les noms de fichiers des chemins et diviser les adresses e-mail en noms d'utilisateur et domaines.

Le prix du Bitcoin depuis sa naissance 2009-2025 Le résumé le plus complet des prix historiques du BTC Le prix du Bitcoin depuis sa naissance 2009-2025 Le résumé le plus complet des prix historiques du BTC Jan 15, 2025 pm 08:11 PM

Depuis sa création en 2009, Bitcoin est devenu un leader dans le monde des cryptomonnaies et son prix a connu d’énormes fluctuations. Pour fournir un aperçu historique complet, cet article compile les données sur les prix du Bitcoin de 2009 à 2025, couvrant les principaux événements du marché, les changements de sentiment du marché et les facteurs importants influençant les mouvements de prix.

Que faire si l'heure dans le coin inférieur droit de Windows 11 est révolue_Que faire si l'heure dans le coin inférieur droit de Windows 11 est révolue Que faire si l'heure dans le coin inférieur droit de Windows 11 est révolue_Que faire si l'heure dans le coin inférieur droit de Windows 11 est révolue May 06, 2024 pm 01:20 PM

1. Tout d’abord, faites un clic droit sur l’espace vide de la barre des tâches en bas de Windows 11 et sélectionnez [Paramètres de la barre des tâches]. 2. Recherchez [taskbarcorneroverflow] à droite dans les paramètres de la barre des tâches. 3. Recherchez ensuite [horloge] ou [Horloge] au-dessus et sélectionnez pour l'allumer. Méthode 2 : 1. Appuyez sur le raccourci clavier [win+r] pour appeler run, entrez [regedit] et appuyez sur Entrée pour confirmer. 2. Ouvrez l'éditeur de registre, recherchez-y [HKEY_CURRENT_USERControlPanel] et supprimez-le. 3. Après la suppression, redémarrez l'ordinateur et vous serez invité à effectuer la configuration. Lorsque vous reviendrez au système, l'heure s'affichera.

Que signifient les arguments en Java Que signifient les arguments en Java May 07, 2024 am 02:24 AM

args est un tableau de paramètres spécial de la méthode main en Java, utilisé pour obtenir un tableau de chaînes de paramètres de ligne de commande ou d'entrée externe. En accédant au tableau args, le programme peut lire ces arguments et les traiter selon les besoins.

Comment utiliser le code d'autres personnes en python Comment utiliser le code d'autres personnes en python May 05, 2024 pm 07:54 PM

Comment utiliser le code Python d’autres personnes ? Rechercher des référentiels de code : recherchez le code dont vous avez besoin sur des plateformes telles que PyPI et GitHub. Code d'installation : utilisez pip ou clonez le référentiel GitHub pour l'installer. Importer des modules : utilisez l'instruction import dans votre script pour importer les modules installés. Travailler avec du code : accédez aux fonctions et aux classes dans les modules. (Facultatif) Adaptez le code : modifiez le code si nécessaire pour l'adapter à votre projet.

Que dois-je faire si l'heure sur mon ordinateur Win11 est toujours fausse ? Comment régler la mauvaise heure sur un ordinateur Windows 11 Que dois-je faire si l'heure sur mon ordinateur Win11 est toujours fausse ? Comment régler la mauvaise heure sur un ordinateur Windows 11 May 03, 2024 pm 09:20 PM

Que dois-je faire si l'heure sur mon ordinateur Win11 est toujours fausse ? Nous définissons tous l'heure ou le calendrier lorsque nous utilisons le système Win11, mais de nombreux utilisateurs demandent que l'heure de l'ordinateur soit toujours erronée, alors que se passe-t-il ? Les utilisateurs peuvent cliquer directement sur la barre des tâches ci-dessous, puis rechercher taskbarcorneroverflow pour la configurer. Laissez ce site présenter en détail aux utilisateurs comment ajuster l'erreur de temps sur les ordinateurs Win11. Comment régler l'erreur d'heure de l'ordinateur dans Windows 11. Méthode 1 : 1. Nous faisons d'abord un clic droit sur l'espace vide de la barre des tâches ci-dessous et sélectionnons Paramètres de la barre des tâches. Méthode 2 : 1. Appuyez sur le raccourci clavier win+r pour appeler run, entrez regedit et appuyez sur Entrée pour confirmer.

Types d'exceptions courants et leurs mesures de réparation dans le développement de fonctions Java Types d'exceptions courants et leurs mesures de réparation dans le développement de fonctions Java May 03, 2024 pm 02:09 PM

Types d'exceptions courants et leurs mesures de réparation dans le développement de fonctions Java Lors du développement de fonctions Java, diverses exceptions peuvent survenir, affectant l'exécution correcte de la fonction. Voici les types d'exceptions courants et leurs mesures de réparation : 1. NullPointerException Description : levée lors de l'accès à un objet qui n'a pas été initialisé. Correctif : assurez-vous de vérifier que l'objet n'est pas nul avant de l'utiliser. Exemple de code : try{Stringname=null;System.out.println(name.length());}catch(NullPointerExceptione){

Que signifie le débordement en CSS Que signifie le débordement en CSS Apr 28, 2024 pm 03:15 PM

overflow est une propriété CSS utilisée pour contrôler le mode d'affichage du contenu de l'élément lorsqu'il dépasse le conteneur. Les valeurs disponibles incluent : visible : le contenu est visible, le conteneur de débordement est masqué : le contenu du débordement est coupé scroll : le la barre de défilement s'affiche pour visualiser le contenu de débordement auto : le navigateur détermine automatiquement s'il faut afficher la barre de défilement hériter : hérite de l'attribut de débordement de l'élément parent

See all articles