如何在 Go 中将单行代码拆分为多行

有没有办法将一个非常长的代码行拆分为多行。但它仍然会被编译器视为一行代码。

例如在 C++ 或 Python 中,\我们可以将同一行拆分为多行。

C++ 示例代码:


int min(int a, int b) {

    return a<b ? a : b;

}


int main() {

    int ans = min(4, \

                    5 \

                );

    cout << ans << endl;

}

在这里,即使我将相同的代码 min(4,5) 分成多行,它也可以工作。


我在 go 中尝试了相同的方法,但它给了我一个错误,想知道是否有任何方法可以实现相同的目标。

当前的代码:


return min( \

    query(2*curNode, l, mid, qL, qR, n, st), \

    query(2*curNode+1, mid+1, r, qL, qR, n , st) \

);

收到以下错误


solution.go:37:17: invalid character U+005C '\'

solution.go:38:50: invalid character U+005C '\'

solution.go:39:54: invalid character U+005C '\'

solution.go:39:55: syntax error: unexpected newline, expecting comma or )

注意:查询只是一个帮助器,递归方法,(用于查询段树)返回 int。如果一个函数类似于 c++ 示例中的函数,则min 。


编辑:保罗和蒙多的建议有效,这也有效:


return min(

        query(2*curNode, l, mid, qL, qR, n, st),

        query(2*curNode+1, mid+1, r, qL, qR, n , st),

    );


弑天下
浏览 269回答 2
2回答

慕工程0101907

选项1:return&nbsp;min( &nbsp;&nbsp;&nbsp;&nbsp;query(2*curNode,&nbsp;l,&nbsp;mid,&nbsp;qL,&nbsp;qR,&nbsp;n,&nbsp;st), &nbsp;&nbsp;&nbsp;&nbsp;query(2*curNode+1,&nbsp;mid+1,&nbsp;r,&nbsp;qL,&nbsp;qR,&nbsp;n,&nbsp;st),)选项 2(首选):return&nbsp;min( &nbsp;&nbsp;&nbsp;&nbsp;query(2*curNode,&nbsp;l,&nbsp;mid,&nbsp;qL,&nbsp;qR,&nbsp;n,&nbsp;st), &nbsp;&nbsp;&nbsp;&nbsp;query(2*curNode+1,&nbsp;mid+1,&nbsp;r,&nbsp;qL,&nbsp;qR,&nbsp;n,&nbsp;st))

白板的微信

您可以在逗号或点处拆分长行。请记住,如果是逗号,有时您必须在最后一行添加逗号,具体取决于您在做什么。(例如:向切片添加元素)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go