Heim  >  Artikel  >  Backend-Entwicklung  >  Go Kafka – Konfigurationswerte

Go Kafka – Konfigurationswerte

WBOY
WBOYnach vorne
2024-02-06 08:21:081194Durchsuche

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))
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?


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
   }

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen