Conversion de l'interface{} en chaîne dans Go
Lorsque vous utilisez docopt pour analyser les arguments de ligne de commande, vous pouvez rencontrer une situation où vous avez besoin pour concaténer les valeurs de chaîne d'une carte contenant des valeurs d'interface {}. Cependant, tenter de concaténer une interface{} directement avec une chaîne entraînera une erreur d'incompatibilité de type.
Pour résoudre ce problème, une assertion de type est requise pour convertir les valeurs de l'interface{} en chaînes. Dans l'exemple fourni :
arguments["<host>"].(string) + ":" + arguments["<port>"].(string)
L'assertion .(string) affirme que l'interface{} stockée dans arguments["
Dans les versions plus récentes de docopt, vous pouvez également utiliser des méthodes de conversion dédiées :
host, err := arguments.String("<host>") port, err := arguments.String("<port>") host_port := host + ":" + port
En utilisant ces méthodes , vous pouvez facilement convertir les valeurs interface{} en chaînes dans le contexte docopt, vous permettant de les manipuler et de les concaténer selon vos besoins.
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!