Maison >développement back-end >Golang >Comment diviser efficacement des chaînes et attribuer des valeurs dans Go ?

Comment diviser efficacement des chaînes et attribuer des valeurs dans Go ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-29 03:47:12881parcourir

How to Efficiently Split Strings and Assign Values in Go?

Fractionnement de chaînes et attribution de valeurs dans Go

En Python, le fractionnement de chaînes et l'affectation de variables peuvent être effectués en une seule étape à l'aide du fractionnement ( ) fonction. Cependant, dans Go, cette approche entraîne une inadéquation du nombre d'affectations.

Comment diviser une chaîne et attribuer des valeurs dans Go

Il existe deux méthodes principales pour diviser un chaîne et attribuer des valeurs dans Go :

Approche en deux étapes

Dans l'approche en deux étapes approche, la chaîne est d'abord divisée en une tranche de chaînes. Ensuite, les valeurs sont attribuées aux variables individuelles de la tranche :

s := strings.Split("127.0.0.1:5432", ":")
ip, port := s[0], s[1]

Approche en une étape

Dans l'approche en une étape, la fonction SplitHostPort() du package net peut être utilisé :

host, port, err := net.SplitHostPort("127.0.0.1:5432")

Cette fonction renvoie l'hôte, le port et un facultatif erreur.

Exemple d'utilisation

package main

import (
    "fmt"
    "net"
)

func main() {
    // Two-step approach
    s := strings.Split("127.0.0.1:5432", ":")
    ip, port := s[0], s[1]
    fmt.Println(ip, port)

    // One-step approach
    host, port, err := net.SplitHostPort("127.0.0.1:5432")
    fmt.Println(host, port, err)
}

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
Article précédent:Wasm TinyGo sur PSPArticle suivant:Wasm TinyGo sur PSP