Panic Recover

// The recover built-in function allows a program to manage behavior of a // panicking goroutine. Executing a call to recover inside a deferred // function (but not any function called by it) stops the panicking sequence // by restoring normal execution and retrieves the error value passed to the // call of panic. If recover is called outside the deferred function it will // not stop a panicking sequence. In this case, or when the goroutine is not // panicking, or if the argument supplied to panic was nil, recover returns // nil. Thus the return value from recover reports whether the goroutine is // panicking.

빌트인 리커버 function은 프로그램이 고루틴 패닉을 관리한다. defer된 함수안에서 recover를 호출하는 것은 일반적인 실행을 복구하고 panic을 호출한 에러값을 회수한다. recover가 그 defer된 함수 밖에서 호출되면 panic 상황을 멈출 수 없을 것이다. 이런 상황에서는, 또는 고루틴이 panic이 아닐때에는, panic으로 공급된

https://haisum.github.io/2017/09/11/golang-ioutil-readall/

https://mingrammer.com/translation-avoiding-memory-leak-in-golang-api/

https://ahmet.im/blog/golang-json-decoder-pitfalls/

https://github.com/google/go-github/pull/317

http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/

Interface! https://medium.com/a-journey-with-go/go-understand-the-empty-interface-2d9fc1e5ec72