go语言中前后端传值时,使用
controller.DecodeJsonPayload(json串,需要转换成的类型)
方法会导致前端传过来的json串中int类型的数字被识别成float64类型,如果想要往int类型的属性赋入该值时会导致报错
interface conversion: interface {} is float64, not int64
此时需要对识别到的float类型进行转换,转成需要的int类型
f, err := strconv.Atoi(fmt.Sprint(parametermap["enabled"]))
将float类型通过fmt.Sprint()或者断言.(string)转成string类型后,再用strconv.Atoi()方法转换成需要的int类型
上述代码中 f 就是最后转成功的int类型的值
如果要使用int64类型的值,可以使用
int64(f)
来实现int到int64的转换