Maison >développement back-end >Golang >Comment utiliser le traitement des chaînes dans Go ?

Comment utiliser le traitement des chaînes dans Go ?

WBOY
WBOYoriginal
2023-05-11 16:21:38717parcourir

Go, en tant que langage de programmation puissant, fournit de nombreuses fonctions et méthodes de traitement de chaînes. Afin que nous puissions mieux maîtriser ces connaissances, cet article présentera le type de chaîne et les fonctions de base de traitement des chaînes dans Go, notamment la création, la concaténation, la coupe, la comparaison et la recherche de chaînes.

  1. Type de chaîne

Dans Go, le type de chaîne est défini comme une séquence de caractères en lecture seule, tapez chaîne. Une valeur de chaîne est composée d'une séquence de caractères entourée d'une paire de guillemets doubles, par exemple :

str := "Hello, world!"

Les chaînes sont en lecture seule et nous ne pouvons pas modifier certains caractères de la chaîne. Vous pouvez modifier la valeur d'une chaîne en la réattribuant, par exemple :

str := "Hello, world!"
str = "Hello, Golang!"
  1. Création de chaînes

Il existe de nombreuses façons de créer des chaînes, en voici quelques-unes :

  • Déclaration directe et affectation

Par exemple :

str := "Hello, world!"

Cette méthode est la méthode la plus simple et la plus couramment utilisée. Il convient de noter que dans Go, les caractères spéciaux dans les chaînes entre guillemets doivent être représentés par des caractères d'échappement, par exemple :

str := "This is a "quoted" string."
  • Créer à l'aide de tableaux de caractères

Créer des chaînes via des tableaux de caractères est également un moyen réalisable, par exemple :

str := []byte{'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!'}
str_1 := string(str)

Le code ci-dessus crée un tableau de caractères de type octet et le convertit en type chaîne. Il convient de noter que dans Go, les chaînes et les tableaux de caractères sont de deux types différents.

  • Créer en utilisant fmt.Sprintf

Nous pouvons utiliser la fonction fmt.Sprintf pour créer une chaîne, similaire à la fonction sprintf en langage C. Par exemple :

str := fmt.Sprintf("The value of x is %d", x)
  1. Concaténation de chaînes

La concaténation de chaînes peut utiliser l'opérateur "+", par exemple :

str1 := "Hello"
str2 := ", world!"
result := str1 + str2

ou utiliser la fonction fmt.Sprintf, par exemple :

str1 := "Hello"
str2 := ", world!"
result := fmt.Sprintf("%s%s", str1, str2)

Il est à noter que le La concaténation de chaînes générera de nouvelles chaînes, et lorsqu'il y a de nombreuses opérations, un grand nombre de chaînes temporaires seront générées, ce qui peut affecter les performances du programme.

  1. String Cutting

String Cutting peut utiliser la fonction Split dans le package strings, par exemple :

str := "apple,orange,peach"
slice := strings.Split(str, ",")

Le code ci-dessus utilise des virgules comme séparateur pour couper la chaîne str en une tranche.

  1. Comparaison de chaînes

La comparaison de chaînes peut utiliser l'opérateur "==" ou la fonction Equal dans le package de chaînes, par exemple :

str1 := "Hello"
str2 := "world"
equal := (str1 == str2)
equal_1 := strings.EqualFold(str1, str2)

Le code ci-dessus utilise l'opérateur "==" et la fonction Equal dans le package de chaînes respectivement. La fonction EqualFold compare deux chaînes pour l'égalité.

Il convient de noter que dans Go, la comparaison de chaînes est sensible à la casse. Si vous devez ne pas respecter la casse, vous pouvez utiliser la fonction EqualFold dans le package de chaînes.

  1. Recherche de chaînes

Go fournit plusieurs fonctions pour rechercher des chaînes, notamment :

  • strings.Contains : détermine si une chaîne contient une autre chaîne.
str := "Hello, world!"
contains := strings.Contains(str, "world") // 返回true
  • strings.Index : Recherchez la première occurrence d'une chaîne dans une autre chaîne.
str := "Hello, world!"
index := strings.Index(str, "world") // 返回7
  • strings.LastIndex : Recherchez la dernière occurrence d'une chaîne dans une autre chaîne.
str := "Hello, world!"
index := strings.LastIndex(str, "o") // 返回8
  • strings.HasPrefix : Détermine si une chaîne commence par une autre chaîne.
str := "Hello, world!"
hasPrefix := strings.HasPrefix(str, "Hello") // 返回true
  • strings.HasSuffix : Détermine si une chaîne se termine par une autre chaîne.
str := "Hello, world!"
hasSuffix := strings.HasSuffix(str, "world!") // 返回true

Résumé

Cet article présente les fonctions et méthodes de base de traitement des chaînes. Dans le développement réel, nous utiliserons davantage d'opérations sur les chaînes, telles que le remplacement, la conversion de casse, la sortie formatée, etc. Les lecteurs qui ont besoin d’une compréhension approfondie peuvent se référer aux documents officiels et aux exemples de codes pour un apprentissage plus approfondi.

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