【发布时间】:2016-05-18 09:41:41
【问题描述】:
如果我有
func returnIntAndString() (i int, s string) {...}
我有:
func doSomething(i int, s string) {...}
那么我可以成功做到以下几点:
doSomething(returnIntAndString())
但是,假设我想为 doSomething 添加另一个参数,例如:
func doSomething(msg string, i int, s string) {...}
如果我这样称呼它,Go 在编译时会报错:
doSomething("message", returnIntAndString())
与:
main.go:45: multiple-value returnIntAndString() in single-value context
main.go:45: not enough arguments in call to doSomething()
有没有办法做到这一点,或者我应该放弃并将 returnIntAndString 的返回值分配给一些引用并传递 msg 和这些值,如 doSomething(msg, code, str) ?
【问题讨论】:
-
如果您发布其余代码会很有帮助
标签: go parameter-passing