Golang est un langage de programmation populaire largement utilisé dans les applications Web, les systèmes d'exploitation, les systèmes distribués, les plates-formes cloud et d'autres domaines. Parmi eux, dans les opérations sur les chaînes, nous rencontrons souvent des situations où un remplacement de plusieurs valeurs est nécessaire. Ce qui suit présentera comment implémenter la fonction de remplacement à valeurs multiples dans Golang.
1. Remplacement de chaînes à valeurs multiples
Dans Golang, les chaînes peuvent être représentées sous forme de points de code Unicode (tranches de rune). Normalement, nous utilisons la fonction Replace dans le package de chaînes ou la fonction ReplaceAllString dans le package Regexp pour effectuer le remplacement d'une valeur unique.
La fonction Replace est utilisée comme suit :
func Replace(s, old, new string, n int) string
La fonction ReplaceAllString est utilisée comme suit :
func ReplaceAllString(src, repl string) string
Dans la fonction ci-dessus, s et src sont toutes deux des chaînes d'origine, old représente l'ancienne chaîne qui doit être remplacée et new ou repl représente le remplacement. La nouvelle chaîne après, n représente le nombre maximum de fois à remplacer. Cependant, si nous voulons remplacer plusieurs valeurs en même temps, la fonction ci-dessus ne peut pas répondre à nos besoins. Dans ce cas, nous pouvons utiliser la fonction Map dans le package strings et définir une table de mappage dans la fonction Map.
2. Utilisez Map pour implémenter le remplacement de valeurs multiples
La fonction Map est utilisée comme suit :
func Map(mapping func(rune) rune, s string) string
Dans la fonction ci-dessus, le mappage est une fonction qui mappe chaque point de code Unicode d'entrée à la valeur de sortie, et s est la valeur de sortie. valeur qui doit être mappée sur une chaîne. Nous pouvons définir une table de mappage dans la fonction de mappage pour implémenter le remplacement à valeurs multiples.
Ce qui suit est un exemple d'implémentation du remplacement multi-valeurs :
package main import ( "fmt" "strings" ) func main() { oldStrs := []string{"world", "World"} newStrs := []string{"Go", "GoLang"} s := "Hello world! Hello World!" replacer := strings.NewReplacer(oldStrs...) fmt.Println(replacer.Replace(s)) mapping := func(r rune) rune { switch r { case 'w': return 'G' case 'o': return 'o' case 'r': return 'L' case 'l': return 'a' case 'd': return 'n' case 'W': return 'G' case '!' : return '!' default: return r } } fmt.Println(strings.Map(mapping, s)) }
Dans le code ci-dessus, nous stockons la chaîne à remplacer et la chaîne remplacée dans deux tranches oldStrs et newStrs respectivement, et les transmettons à la fonction NewReplacer. L'objet de remplacement est créé via la fonction NewReplacer. Ensuite, nous définissons une fonction de mappage dans la fonction Map pour mapper l'ancienne valeur de la chaîne d'origine à la nouvelle valeur, et utilisons la fonction Map pour effectuer une opération de mappage globale sur la chaîne d'origine afin d'obtenir la chaîne remplacée.
Exécutez le code ci-dessus et vous obtiendrez les résultats suivants :
Hello Go! Hello GoLang! Hello Go! Hello GoLang!
3.Résumé
Dans Golang, le remplacement de chaînes à valeurs multiples peut utiliser la fonction Map dans le package de chaînes et définir une table de mappage dans la fonction Map. . Cette méthode peut remplacer plusieurs valeurs en même temps, ce qui la rend plus flexible et efficace. Dans le développement réel, il est nécessaire de prêter attention à l'ordre et au nombre de valeurs de substitution différentes pour éviter les erreurs de substitution et les exceptions.
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!