为了账号安全,请及时绑定邮箱和手机立即绑定

你如何在 go 中将命令链接到多行?

你如何在 go 中将命令链接到多行?

Go
月关宝盒 2021-06-01 17:45:34
我想以这种方式链接命令:var cmdGroups = []*commands.CmdGroup {    commands.MakeCmdGroup("foo", cmd1, cmd2, cmd3).AddConstraint(cmd1, cmd2).AddConstraint(cmd2, cmd1, cmd3),    commands.MakeCmdGroup("bar", cmd1, cmd4).AddConstraint(cmd1, cmd4),}出于 80 列长度的原因,我想将我的链分成几行,但是 Go 不允许我编译这个:var cmdGroups = []*commands.CmdGroup {    commands.MakeCmdGroup("foo", cmd1, cmd2, cmd3)            .AddConstraint(cmd1, cmd2)            .AddConstraint(cmd2, cmd1, cmd3),    commands.MakeCmdGroup("bar", cmd1, cmd4)            .AddConstraint(cmd1, cmd4),}我能做什么 ?
查看完整描述

2 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

我可能会写一些变体:


var cmdGroups = []*commands.CmdGroup{

                commands.MakeCmdGroup(

                        "foo", cmd1, cmd2, cmd3,

                ).AddConstraint(

                        cmd1, cmd2,

                ).AddConstraint(

                        cmd2, cmd1, cmd3,

                ),

                commands.MakeCmdGroup(

                        "bar", cmd1, cmd4,

                ).AddConstraint(cmd1, cmd4),

}

但是,在惯用代码中不会经常看到如此长的选择器运算符链。(我认为标准库是惯用代码的非正式指南)。也许此代码设计/结构可能存在一些弱点。


查看完整回答
反对 回复 2021-06-07
  • 2 回答
  • 0 关注
  • 225 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号