为了调用对话框可执行文件,最多需要3个按钮,我创建了这个函数:func Dialog(icon string, text string, buttons ...string) int { cmd := &exec.Cmd{ Path: dialogPath, Args: []string{ dialogPath, icon, text, buttons..., }, Stdout: os.Stdout, Stdin: os.Stdin, } var waitStatus syscall.WaitStatus if err := cmd.Run(); err != nil { if exitError, ok := err.(*exec.ExitError); ok { waitStatus = exitError.Sys().(syscall.WaitStatus) return waitStatus.ExitStatus() } } return 0}问题是:这甚至无法编译,因为我不知道如何将按钮传递给Cmd。我以为拆包就能解决问题。
1 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
错误是:
syntax error: unexpected ..., expecting comma or }
这是因为这不是有效的语法:
Args: []string{
dialogPath,
icon,
text,
buttons...,
},
只能在函数调用中使用;您可以使用来解决此问题:...append()
Args: append([]string{dialogPath, icon, text}, buttons...),
- 1 回答
- 0 关注
- 91 浏览
添加回答
举报
0/150
提交
取消