You created an infinite recursion by calling Unmarshal on the same type your unmarshalling, hence the stack overflow error.

On 28/09/2017 23:59, Yaroslav Molochko wrote:
Here is the code which runs:

https://play.golang.org/p/ds3KZspFvE

If you press play, it will work fine and gives an expected output,

 as soon as you uncomment  this part:
/*
func (u *Result) UnmarshalJSON(b []byte) error {
var ts Result
err := json.Unmarshal(b, &ts)
if err != nil {
fmt.Println(err)
}
return nil
}
*/

which basically does nothing, you will get:
https://play.golang.org/p/Y9NTzpwyQy


runtime: goroutine stack exceeds 250000000-byte limit fatal error: stack overflow runtime stack: runtime.throw(0x122c5a, 0xe) /usr/local/go/src/runtime/panic.go:605 +0x100 runtime.newstack(0x0, 0x0) /usr/local/go/src/runtime/stack.go:1050 +0x960 runtime.morestack() /usr/local/go/src/runtime/asm_amd64p32.s:378 +0xa0

Anyone knows how to solve it?
--
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 <mailto: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.

Reply via email to