多行共享代码[重复]

This question already has an answer here:

For readability, I split method chaining into multi lines:

for _, e := range methods {
    switch e {
    case "GET":
        if len(name) > 0 {
            router.Handle(path, httpAjaxFunc(handler))
                  .Methods(e)
                  .Headers("X-Requested-With", "XMLHttpRequest", "Payload", "")
                  .Name(name[0]);
        } else {
            router.Handle(path, httpAjaxFunc(handler))
                  .Methods(e)
                  .Headers("X-Requested-With", "XMLHttpRequest", "Payload", "");
        }

at line 29, file controllersoutes\funcs.gosyntax error: unexpected .

How can I split it in multi lines?

</div>

This is kind of ugly, but the only way I know of:

for _, e := range methods {
    switch e {
    case "GET":
        if len(name) > 0 {
            router.Handle(path, httpAjaxFunc(handler)).
                  Methods(e).
                  Headers("X-Requested-With", "XMLHttpRequest", "Payload", "").
                  Name(name[0])
        } else {
            router.Handle(path, httpAjaxFunc(handler)).
                  Methods(e).
                  Headers("X-Requested-With", "XMLHttpRequest", "Payload", "")
        }