golang return style

Giờ mới biết có thể viết kiểu này

func (c *Command) Call(args *Args) (err error) {
    runCommand, err := c.lookupSubCommand(args)
    if err != nil {
        ui.Errorln(err)
        return
    }

    if !c.GitExtension {
        err = runCommand.parseArguments(args)
        if err != nil {
            return
        }
    }

    runCommand.Run(runCommand, args)

    return
}

Để ý cái return có luôn variable name, và compiler sẽ nhặt thằng local variable có cùng tên để trả về, nếu không có thì sẽ trả về zero value của type đó. Viết kiểu này khi trả về error khá tiện.

huydx 04-08-2016