Heim >Backend-Entwicklung >Golang >Go Kafka – Konfigurationswerte
Ich verwende go-kafka (https://pkg.go.dev/github.com/confluenceinc/confluence-kafka-go/kafka#configmap.get) und bei der Verwendung von configmap bin ich auf a gestoßen Problem mit der Get-Methode.
In der Dokumentation heißt es, dass für get ein Schlüssel und ein Definitionswert (vom Typ Konfigurationswert) erforderlich sind, aber ich weiß nicht, wie ich einen Konfigurationswert zur Übergabe erstellen soll.
Das habe ich versucht:
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))
Aber jedes Mal erhalte ich die gleiche Fehlermeldung:
不能使用 'conf.get("sasl.password", x)' (type (configvalue, error)) 作为类型 (string, any) 或 string
Was habe ich falsch gemacht?
Was Ihre Verwendung von configmap.get
betrifft, machen Sie per se nichts falsch.
Der angezeigte Fehler wird durch die Verwendung von fmt.printf
verursacht.
Sofort falsch, weil get()
返回一个值和一个错误 ((configvalue, error)
),您试图将其直接传递到 printf()
erfordert, dass eine Zeichenfolge, die einen Formatbezeichner und eine Liste von Variablen enthält, durch beliebige Werte aus diesen Formatspezifikationen ersetzt werden muss.
Sie müssen zuerst den configmap
-Wert ermitteln und auf Fehler testen:
v, err := conf.get("sasl.password", x) if err != nil { // handle/return the error }
Dann wenn err
为 nil,您可以使用 %s
规范将值输出到 printf
und den Rückgabewert übergeben:
if err == nil { fmt.Printf("%s", v) }
Das obige ist der detaillierte Inhalt vonGo Kafka – Konfigurationswerte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!