go - 从没有中间变量的多上下文函数调用中获取单个结果

标签 go

<分区>

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

res, _ := strconv.Atoi("64")

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

myArray := make([]int, strconv.Atoi("64"))

编译器会提示我在单值上下文中使用多值函数:

./array-test.go:11: multiple-value strconv.Atoi() in single-value context

是否可以在单行中从返回值中“挑选”而不求助于 auxiliary functions

最佳答案

唯一真正的方法是创建一些实用的“旁路”函数,因为这是 Go,你必须为每种类型声明一个。

例如:

func noerrInt(i int, e err) int {
   return i
}

然后你可以这样做:

myArray := make([]int, noerrInt(strconv.Atoi("64")))

但实际上,这非常糟糕,并且忽略了最佳实践。

关于go - 从没有中间变量的多上下文函数调用中获取单个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36991947/

相关文章:

go - Go 编程语言中的 "method requires pointer receiver"

node.js - 如何让 Go 应用程序等待 Redis 列表中的数据可用?

戈朗 : Opposite of Append to remove data

loops - Golang代码重复一段html代码n次

date - 如何解析以下格式的日期/时间?

go - ANTLR4内存使用情况

go - 如何在 Golang 中获取其他时区的当前时间戳?

go - 更改类型后获取地址

go - 实例化具有不同函数签名的对象时函数实现的差异

google-app-engine - 谷歌应用引擎去 SDK : Request to '/' failed