Rumah >pembangunan bahagian belakang >Golang >Go Kafka - nilai konfigurasi

Go Kafka - nilai konfigurasi

WBOY
WBOYke hadapan
2024-02-06 08:21:081226semak imbas

Go Kafka - 配置值

Kandungan soalan

Saya menggunakan go-kafka (https://pkg.go.dev/github.com/confluenceinc/confluence-kafka-go/kafka#configmap.get) dan menggunakan peta konfigurasi yang saya temui masalah dengan kaedah dapatkan.

Dokumentasi mengatakan get memerlukan kunci dan defval (jenis nilai konfigurasi), tetapi saya tidak tahu cara mencipta nilai konfigurasi untuk dimasukkan.

Ini yang saya cuba:

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

Tetapi setiap kali saya mendapat ralat yang sama:

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

Di mana silap saya?


Jawapan Betul


Setakat penggunaan configmap.get anda, anda tidak melakukan apa-apa yang salah.

Ralat yang anda lihat adalah disebabkan oleh penggunaan fmt.printf anda.

Salah serta merta kerana get() 返回一个值和一个错误 ((configvalue, error)),您试图将其直接传递到 printf() , yang memerlukan rentetan yang mengandungi penentu format dan senarai pembolehubah untuk digantikan dengan sebarang nilai daripada spesifikasi format ini.

Anda perlu mendapatkan nilai configmap dan menguji kesilapan:

   v, err := conf.get("sasl.password", x)
   if err != nil {
      // handle/return the error
   }

Kemudian jika err 为 nil,您可以使用 %s 规范将值输出到 printf dan lulus dalam nilai pulangan:

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

Atas ialah kandungan terperinci Go Kafka - nilai konfigurasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam