Another slightly related topic: switch v := i.(type) { case map[string]interface{}, map[string]int: fmt.Print(v) }
Ideally v is of type map[string]interface{}, but it's interface{} instead. On Sunday, February 23, 2020 at 5:12:27 PM UTC+8, Glen Huang wrote: > > Hi, > > I have a function that accepts an argument of type map[string]interface{}, > and I also have a value of type map[string]int. > > Currently it seems I can't directly pass the value to the function. Is > there anyway I can directly coerce it or a new value of the exact matching > type must be created? > > I find it quite surprising that you can directly assign any variables to > interface{} but not when they are both "scoped inside" a map or a slice. Is > the asymmetry by design? > > Regards > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/3bd425dd-1ca4-4bb3-8385-07c3aece5912%40googlegroups.com.