如何在Go中从函数返回多个值以及用什么替代元组(tuple)?
大家好!我刚从Python开始学习Go,遇到了一个问题。在Python中,我经常使用元组(tuples),例如从函数返回多个值或分组一对相关数据。例如:
```python
def get_user():
return ("Alice", 30)
name, age = get_user()
```
但在Go中,我没有找到内置的“tuple”或“pair”类型。文档中说函数可以返回多个值,但这不完全一样。当我尝试类似的操作时:
```go
func getUser() (string, int) {
return "Alice", 30
}
func main() {
name, age := getUser()
fmt.Println(name, age) // 这可以工作
}
```
一切都很好,只要我想简单地将结果解包到变量中。但如果我想将结果作为一个整体保存呢?例如,将其传递给另一个函数,放入slice或map中?在Python中,我会这样做:
```python
users = [("Alice", 30), ("Bob", 25)]
```
在Go中,我不能写成`[