When I try to convert map[string]string object to map[string]interface{} in golang using following snippet, I get an error.
package main
import "fmt"
func main() {
var m = make(map[string]string)
m["a"] = "b"
m1 := map[string]interface{}(m)
fmt.Println(m1)
}
I get an error like this :
# example
./prog.go:10:30: cannot convert m (type map[string]string) to type map[string]interface {}
I'm able to convert this using long for loop solution using following code, but I was wondering if there is any simpler approach to this.
package main
import (
"fmt"
)
func main() {
m := map[string]string{
"a": "a",
"b": "b",
}
m2 := make(map[string]interface{}, len(m))
for k, v := range m {
m2[k] = v
}
fmt.Println(m2)
}
There is no such thing as cast in go. There is type conversion only. So the best possible way is to use the loop and then convert string to interface.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With