我有一个返回 2 个值的函数:string和[]string
func executeCmd(command, port string, hostname string, config *ssh.ClientConfig) (target string, splitOut []string) {
...
return hostname, strings.Split(stdoutBuf.String(), " ")
}
这个函数被传递到一个go routine channelch
ch <- executeCmd(cmd, port, hostname, config)
我知道当你想为一个变量分配 2 个或更多值时,你需要创建一个structure并且在 go routine 的情况下,使用结构到make一个channel
type results struct {
target string
output []string
}
ch := make(chan results, 10)
作为 GO 的初学者,我不明白自己做错了什么。我见过其他人遇到与我类似的问题,但不幸的是,所提供的答案对我来说没有意义
慕容森
相关分类