2
respostas

E quando eu não sei quantos paramentos e retornado

Douglas você disse que e fácil, concordo. De como pegar o return

mas e quando eu não sei quantos parametros e retornado, esse detalhe e fundamental intender como seria ?

2 respostas

Olá Flávio!

Entendo que você está com dúvidas sobre como lidar com funções que retornam um número variável de parâmetros. Realmente, esse é um detalhe importante para entendermos como funciona.

No exemplo que você trouxe, a função devolveNomeEIdade retorna dois valores: um nome (do tipo string) e uma idade (do tipo int). Para receber esses valores, você precisa criar duas variáveis na função main, uma para cada retorno da função. Veja o exemplo abaixo:

func main() {
    nome, idade := devolveNomeEIdade()
    fmt.Println(nome, "tem", idade, "anos")
}

Dessa forma, a variável nome receberá o valor retornado como primeiro parâmetro da função devolveNomeEIdade, e a variável idade receberá o valor retornado como segundo parâmetro.

Agora, se você não estiver interessado em um dos retornos da função, pode utilizar o operador de identificador em branco _. Por exemplo, se você só estiver interessado na idade, pode fazer assim:

func main() {
    _, idade := devolveNomeEIdade()
    fmt.Println(idade)
}

Nesse caso, o operador _ indica que você não quer armazenar o primeiro retorno da função devolveNomeEIdade, apenas o segundo.

Espero ter esclarecido suas dúvidas! Se tiver mais alguma pergunta, é só me dizer. Bons estudos!

Espero ter ajudado e bons estudos!

thanks