我有以下yaml文件,想要迭代cameraids .---
---
profiles:
HDready: ' -vcodec libx264 -pix_fmt yuv420p -crf 23 -s 1280x720 '
mobile: ' -vcodec libx264 -pix_fmt yuv420p -crf 23 -s 480x270 '
cameraids:
111:
fps: 30
191:
fps: 50
851:
fps: 50
我现在想迭代摄像机和配置文件,因此我声明了像这样的cameraids变量
var camids map[string]interface{}
与fmt.Println(reflect.TypeOf(viper.Get("cameraids")))
打印相同,但当我尝试从viper获取地图时,我总是收到以下错误no new variables on left side of :=
camids := viper.GetStringMap("cameraids")
请您解释并帮助我误解,谢谢。
答案 0 :(得分:3)
如果您已宣布camids
var camids map[string]interface{}
以上,您不需要使用:=
,因为已经声明了变量camids
。
所以写一下:
camids = viper.GetStringMap("cameraids")
:=
。
=
。