I am not sure but perhaps as simple as it is a very natural and known behavior of maps and to make it work syntactically as the type assertion would make it weird.
On Thu, Sep 29, 2016, 07:02 T L <tapir....@gmail.com> wrote: > > > On Thursday, September 29, 2016 at 12:56:57 PM UTC+8, Micky wrote: >> >> The reason is directly stated in the Go language spec: >> >> "If the type assertion holds, the value of the expression is the value >> stored in x and its type is T. If the type assertion is false, a run-time >> panic <https://golang.org/ref/spec#Run_time_panics> occurs." >> >> Here "hold" means if it succeeds. >> >> > I know of the syntax in spec. > I just want to understand what is the deep reason for the syntax > inconsistency between map index and type assert. > > >> >> On Thu, Sep 29, 2016 at 9:53 AM, T L <tapi...@gmail.com> wrote: >> >>> >>> >>> On Thursday, September 29, 2016 at 12:32:48 PM UTC+8, Henrik Johansson >>> wrote: >>>> >>>> This is just how type assertion works. >>>> If you don't use the dual return it panics if the actual type is >>>> different from the one you try to assert. >>>> >>> >>> but what is the underlining reason for the inconsistency between map >>> index and type assert? >>> >>> >>>> >>>> On Thu, Sep 29, 2016, 05:26 T L <tapi...@gmail.com> wrote: >>>> >>>>> package main >>>>> >>>>> func main() { >>>>> var m = map[string]int{} >>>>> _, _ = m["abc"] // ok >>>>> _ = m["abc"] // ok >>>>> >>>>> var i interface{} = 789 >>>>> _, _ = i.(bool) // ok >>>>> _ = i.(bool) // panic: interface conversion: interface is int, not >>>>> bool >>>>> } >>>>> >>>>> -- >>>>> 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...@googlegroups.com. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> -- >>> 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...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > 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. > For more options, visit https://groups.google.com/d/optout. > -- 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. For more options, visit https://groups.google.com/d/optout.