Опитвам се да се запозная с типовете и интерфейсите на Golang, но малко се боря да го направя. Както и да е, често срещан модел, който виждам, е func Whatever() (thing string, err error)
. Разбирам как работи всичко това, но единственото нещо, което ме обърква, е защо е добре да return "thing", nil
. Конкретният екземпляр, който разглеждам, е в забавление тук-
func (c *GorpController) Begin() revel.Result {
txn, err := Dbm.Begin()
if err != nil {
panic(err)
}
c.Txn = txn
return nil
}
revel.Result
е интерфейс с този подпис-
type Result interface {
Apply(req *Request, resp *Response)
}
Както и да е, просто съм любопитен как връщането на nil
удовлетворява компилатора в този случай. Има ли ресурс, към който мога да бъда посочен за това?