首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有中间变量的情况下从多上下文函数调用中获得单个结果

在没有中间变量的情况下从多上下文函数调用中获得单个结果
EN

Stack Overflow用户
提问于 2016-05-03 05:25:47
回答 1查看 80关注 0票数 1

Go中,我可以使用underscore忽略返回多个值的函数的返回值。例如:

代码语言:javascript
复制
res, _ := strconv.Atoi("64")

假设我想要将第一个值直接用于另一个函数调用(在本例中,忽略错误检查最佳实践):

代码语言:javascript
复制
myArray := make([]int, strconv.Atoi("64"))

编译器会抱怨我在单值上下文中使用了多值函数:

代码语言:javascript
复制
./array-test.go:11: multiple-value strconv.Atoi() in single-value context

是否可以在单行中从返回值中“挑选并选择”,而不使用auxiliary functions

EN

回答 1

Stack Overflow用户

发布于 2016-05-03 05:50:11

唯一真正的方法是创建一些实用的“绕过”函数,因为这是Go,所以您必须为每个类型声明一个。

例如:

代码语言:javascript
复制
func noerrInt(i int, e err) int {
   return i
}

然后您可以执行以下操作:

代码语言:javascript
复制
myArray := make([]int, noerrInt(strconv.Atoi("64")))

但实际上,这很糟糕,而且忽略了最佳实践。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36991947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档