135得票6回答
单值环境中的多个值

由于Go的错误处理机制,我经常遇到多返回值函数。到目前为止,我处理这个问题的方式非常混乱,因此我正在寻找编写更清晰代码的最佳实践。 假设我有以下函数:type Item struct { Value int Name string } func Get(value int) (...

88得票9回答
一个函数返回多个值符合Pythonic风格吗?

在Python中,函数可以返回多个值。这里有一个人为的示例:def divide(x, y): quotient = x/y remainder = x % y return quotient, remainder (q, r) = divide(22, 7) 这...

36得票1回答
在普通函数中返回类似于Golang中的'ok'的映射

在Go语言中,以下代码是有效的(请注意,一个使用map的返回值为一个,另一个使用两个)package main import "fmt" var someMap = map[string]string { "some key": "hello" } func main() { i...

11得票1回答
constexpr自动函数中的constexpr-if-else体能够返回不同类型吗?

我正在尝试编写一个函数,根据枚举的运行时值将一组类型映射到值。我意识到根据枚举的运行时值返回不同的类型是不可能的,因为编译器将无法知道要分配多少堆栈空间。但是,我正在尝试将其作为constexpr函数编写,使用新的if-constexpr功能来实现此操作。 我从clang中得到了一个错误,指...

8得票3回答
如何将多个返回值传递给可变参数函数?

我有一个返回两个整数值的Go函数。以下是该函数的代码: func temp() (int, int){ return 1,1 } 可以将temp函数直接放入Println中并使用字符串格式化同时打印两个输出吗: fmt.Println("first= %d and second = ...

8得票3回答
Go语言中的多返回值和:=

为什么这是一个有效的程序? package main import "fmt" func giveMeError(limit int) ([]string, error) { return nil, fmt.Errorf("MY ERROR %d", limit) } func...

7得票1回答
使用多个返回值初始化多个成员

自从C++17版本以后,我可以做到: std::pair<int, double> init () { return std::make_pair (1, 1.2); } void foo () { const auto [x, y] = init (); ...