En Python, diviser une chaîne et attribuer ses composants à des variables est simple en utilisant la méthode split. Cependant, dans Go, tenter une approche similaire semble échouer en raison d'une inadéquation du nombre d'affectations.
Comment pouvons-nous diviser efficacement une chaîne et lui attribuer valeurs à plusieurs variables en une seule opération dans Go ?
Il y a deux possibilités approches :
Approche en deux étapes :
Dans cette méthode, nous divisons d'abord la chaîne à l'aide de strings.Split, puis attribuons les éléments de tranche résultants à des variables :
package main import ( "fmt" "strings" ) func main() { s := strings.Split("127.0.0.1:5432", ":") ip, port := s[0], s[1] fmt.Println(ip, port) }
Approche en une étape à l'aide de net.SplitHostPort :
Go fournit une fonction intégrée net.SplitHostPort spécialement conçue pour diviser les chaînes représentant les adresses réseau en composants hôte et port :
package main import ( "fmt" "net" ) func main() { 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!