Maison > Article > développement back-end > Go Kafka - valeurs de configuration
J'utilise go-kafka (https://pkg.go.dev/github.com/confluenceinc/confluence-kafka-go/kafka#configmap.get) et en utilisant configmap, j'ai rencontré un problème avec la méthode get.
La documentation indique que get nécessite une clé et un defval (de type configvalue), mais je ne sais pas comment créer une configvalue à transmettre.
Voici ce que j'ai essayé :
configfile := os.args[1] conf := readconfig(configfile) x := conf["sasl.password"] fmt.printf(conf.get("sasl.password", x))
configFile := os.Args[1] conf := ReadConfig(configFile) x := kafka.ConfigValue("Test") fmt.Printf(conf.Get("sasl.password", x))
Mais à chaque fois j'obtiens la même erreur :
不能使用 'conf.get("sasl.password", x)' (type (configvalue, error)) 作为类型 (string, any) 或 string
Où est-ce que je me suis trompé ?
En ce qui concerne votre utilisation de configmap.get
, vous ne faites rien de mal en soi.
L'erreur que vous voyez est causée par votre utilisation de fmt.printf
.
Immédiatement faux car get()
返回一个值和一个错误 ((configvalue, error)
),您试图将其直接传递到 printf()
, qui nécessite qu'une chaîne contenant un spécificateur de format et une liste de variables soit remplacée par toutes les valeurs de ces spécifications de format.
Vous devez d'abord obtenir la valeur configmap
et tester les erreurs :
v, err := conf.get("sasl.password", x) if err != nil { // handle/return the error }
Alors si err
为 nil,您可以使用 %s
规范将值输出到 printf
et transmettez la valeur de retour :
if err == nil { fmt.Printf("%s", v) }
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!