我正在使用go-kafka (https://pkg.go.dev/github.com/confluenceinc/confluence-kafka- go/kafka#configmap.get),並且在使用configmap 的get 方法時遇到問題。
文件說 get 需要一個鍵和一個 defval(類型為 configvalue),但我不知道如何建立一個 configvalue 來傳入。
這是我嘗試過的:
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))
但是每次我都會遇到同樣的錯誤:
不能使用 'conf.get("sasl.password", x)' (type (configvalue, error)) 作為類型 (string, any) 或 string
我哪裡出錯了?
就您使用 configmap.get
而言,您本身沒有做任何錯誤。
您看到的錯誤是因為您使用 fmt.printf
造成的。
立即錯誤是因為get()
傳回一個值和一個錯誤((configvalue, error)
),您試圖將其直接傳遞到printf()
,它需要一個包含格式說明符和變數清單的字串要替換為這些格式規範的任何值。
您首先需要取得 configmap
值並測試是否有錯誤:
v, err := conf.get("sasl.password", x) if err != nil { // handle/return the error }
然後,如果 err
為 nil,您可以使用 %s
規格將值輸出到 printf
並傳入回傳值:
if err == nil { fmt.Printf("%s", v) }
以上是Go Kafka - 設定值的詳細內容。更多資訊請關注PHP中文網其他相關文章!