gpt4 book ai didi

go - 如何从多值返回函数访问单个值?

转载 作者:IT王子 更新时间:2023-10-29 01:48:29 24 4
gpt4 key购买 nike

Go 函数可以返回多个值:

func f() (int, int) {
return 2, 3
}

除了赋值之外,是否有任何方法可以从这样的多值返回函数访问单个值,即假设有

func g(i int) {...}

下面两行有没有更简单的写法?

_, i = f()
g(i)

最佳答案

我个人最喜欢的是 g(f()[1]) 但这也是不可能的。

标准库当前使用的解决方案是编写简单的辅助函数,这些函数会删除不需要的返回值。例如,看看 template包。

那里的很多函数返回一个 (*Template, os.Error) 元组,但是有一个名为 template.Must() 的助手只返回一个 *Template 如果错误不为零则 panic 。

或者,像 func extract(index int, values ...interface{}) interface{} 这样的通用辅助函数可能会起作用。但由于还不支持泛型,我不会写那样的东西。

关于go - 如何从多值返回函数访问单个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8235938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com