I don't think your analogy is right. The example you gave is an error, as
if we wrote: var i = float64("hello")
Whereas, the code I wrote is just being explicit when it is ok to be
implicit. So, more like we wrote:
var i1 = 3.142
var i2 = float64(3.142)
i3 := float64(3.142)
The float64 casting is unnecessary in the latter two cases, but it isn't an
error.
On Thursday, 15 December 2016 21:01:11 UTC+5:30, Chris Hines wrote:
>
> Suppose instead of `json:"s,string"` you had typed `json:"s,omitemptyy"`
> when you meant to type `json:"s,omitempty"`. Would you want to be told that
> you had an error in your struct tag? In general Go has a fail-fast
> philosophy to help prevent mistakes from persisting in a system unnoticed
> for a long time. It is this philosophy that warrants producing an error
> when the encoding/json package encounters an invalid json: struct tag.
>
> Chris
>
> On Thursday, December 15, 2016 at 8:32:03 AM UTC-5, Sathish VJ wrote:
>>
>> I have a struct that maps json of type string to a string.
>> S string `json:"s,string"`
>>
>> When run with that, it gives me the error:
>> Error: json: invalid use of ,string struct tag, trying to unmarshal
>> "hello" into string
>>
>> I know that it is not really required. But does it have to error out?
>> Is the current behavior planned so for any reason? I was thinking that
>> it's quite ok to over-specify the type here and the stand library would
>> ignore it.
>>
>> Full code: https://play.golang.org/p/gepaK1GsTC
>>
>
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.