Go Kafka – Konfigurationswerte

WBOY
Freigeben: 2024-02-06 08:21:08
nach vorne
1194 Leute haben es durchsucht

Go Kafka - 配置值

Frageninhalt

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))
Nach dem Login kopieren
configFile := os.Args[1]
    conf := ReadConfig(configFile)
    
    x := kafka.ConfigValue("Test")

    fmt.Printf(conf.Get("sasl.password", x))
Nach dem Login kopieren

Aber jedes Mal erhalte ich die gleiche Fehlermeldung:

不能使用 'conf.get("sasl.password", x)' (type (configvalue, error)) 作为类型 (string, any) 或 string

Was habe ich falsch gemacht?


Richtige Antwort


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
   }
Nach dem Login kopieren

Dann wenn err 为 nil,您可以使用 %s 规范将值输出到 printf und den Rückgabewert übergeben:

   if err == nil {
      fmt.Printf("%s", v)
   }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonGo Kafka – Konfigurationswerte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage