多重返回语法

Ano*_*man 4 groovy

我有一个函数返回多个这样的值:

def func1() {
    return [val1, val2]
}
Run Code Online (Sandbox Code Playgroud)

如何将这些返回值分配给调用此函数的函数中的另一个变量.我想它会是这样的:

def funcThatCalledfunc1 {
    def [x,y] = func1()
}
Run Code Online (Sandbox Code Playgroud)

我想最终x拥有价值val1y价值val2.

Jef*_*own 11

如果您尝试使用Groovy的多重赋值,则可以执行以下操作:

def func1 = {
    ['jeff', 'betsy', 'jake', 'zack']
}

def (dad, mom, son1, son2) = func1()

assert 'jeff' == dad
assert 'jake' == son1
assert 'zack' == son2
assert 'betsy' == mom
Run Code Online (Sandbox Code Playgroud)

在您的示例中,您使用方括号而不是parens,这将不起作用.