This is a great write-up! Going from explaining the terms to applying the 
terms to the actual problems.

I learned a lot. Thanks.

On Sunday, February 23, 2020 at 5:37:56 PM UTC+8, Axel Wagner wrote:
>
> Hi,
>
> I've wrote about the theoretical side of that here:
> https://blog.merovius.de/2018/06/03/why-doesnt-go-have-variance-in.html
> The post uses slices, but the same arguments apply to maps as well. 
> Specifically, while it *may* seem like you should be able to use a 
> map[string]int as a map[string]interface{}, if you *could*, you would also 
> have to explain what happens when you write something to it that is not an 
> int. i.e. how would this code behave: 
> https://play.golang.org/p/StJrbhmjCHh
>
> There really is no good answer to this. So as long as the type allows both 
> reading and writing, making map variant really isn't possible.
>
> On Sun, Feb 23, 2020 at 10:24 AM Glen Huang <hey...@gmail.com 
> <javascript:>> wrote:
>
>> 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 golan...@googlegroups.com <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/golang-nuts/3bd425dd-1ca4-4bb3-8385-07c3aece5912%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/golang-nuts/3bd425dd-1ca4-4bb3-8385-07c3aece5912%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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/564ecf0e-652a-4c23-9ce8-985afa7adb7c%40googlegroups.com.

Reply via email to