Avatar ·

Como retornar múltiplos valores de uma função em Go e o que usar em vez de tuplas (tuple)?

Olá a todos! Comecei a estudar Go recentemente, depois de Python, e me deparei com um problema. Em Python, eu costumava usar tuplas (tuples) para, por exemplo, retornar vários valores de uma função ou agrupar um par de dados relacionados. Por exemplo: ```python def get_user(): return ("Alice", 30) name, age = get_user() ``` Mas em Go não encontro um tipo embutido "tuple" ou "pair". A documentação diz que uma função pode retornar vários valores, mas não é exatamente a mesma coisa. Quando tento fazer algo parecido: ```go func getUser() (string, int) { return "Alice", 30 } func main() { name, age := getUser() fmt.Println(name, age) // Isso funciona } ``` Tudo bem, enquanto eu quiser apenas desestruturar o resultado em variáveis. Mas e se eu quiser salvar o resultado como uma unidade? Por exemplo, passá-lo para outra função, colocá-lo em um slice ou map? Em Python eu faria assim: ```python users = [("Alice", 30), ("Bob", 25)] ``` Em Go não posso escrever `[