Parâmetros e Argumentos
Parte da seção Fundamentals do Journey de Rust da Coddy — lição 50 de 75.
Um argumento em uma função é um valor que você passa para a função quando a chama. Para adicionar argumentos a uma função, nós os escrevemos dentro dos parênteses ():
fn function_name(arg1: data_type, arg2: data_type, ...) {
// código
}Podemos nomear os argumentos como quisermos e podemos escrever quantos argumentos precisarmos.
Para chamar uma função e passar argumentos para ela, escrevemos:
function_name(value1, value2, value3, ...);Passar argumentos demais para uma função que espera menos argumentos fará com que o programa falhe
Exemplo de uso:
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
for i in 15..34 {
is_even(i);
}
for i in 153..219 {
is_even(i);
}Aqui temos uma função chamada is_even que aceita um argumento chamado number e imprime se o número é par ou ímpar. Então chamamos a função duas vezes: uma vez para todos os números entre 15 e 34, e uma segunda vez para todos os números entre 153 e 219.
Desafio
FácilEscreva um programa que receba dois números de entrada. Os números de entrada são os argumentos da função.
Crie uma função que receba dois argumentos, calcule o produto entre eles e o imprima; nomeie a função como desejar.
Chame a função com os números de entrada.
Nota! Em seu código, escreva a função antes das instruções de chamada/execução.
Folha de consulta
Para adicionar argumentos a uma função, escreva-os dentro dos parênteses com seus tipos de dados:
fn function_name(arg1: data_type, arg2: data_type) {
// código
}Chame uma função passando valores como argumentos:
function_name(value1, value2);Exemplo com um argumento:
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
is_even(42);Passar argumentos demais para uma função fará com que o programa falhe
Experimente você mesmo
use std::io;
// Declaração da função
fn main() {
let mut input_a = String::new();
let mut input_b = String::new();
io::stdin().read_line(&mut input_a).unwrap();
io::stdin().read_line(&mut input_b).unwrap();
let a: i32 = input_a.trim().parse().unwrap();
let b: i32 = input_b.trim().parse().unwrap();
// Chama a função com a e b como argumentos
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosOperadores de ComparaçãoComparação de Strings7Entrada e Saída Básica
Exibindo no ConsoleLendo a Entrada do UsuárioRevisão - Até 120Revisão - Verdadeiro ou Falso5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 311Funções
Declarando FunçõesParâmetros e ArgumentosValores de RetornoMúltiplos Valores de RetornoRecapitulação - Função SigmaRecapitulação - Função de Validação3Variáveis Parte 2
Declaração de TipoConvenções de NomenclaturaInferência de TipoRecapitulação - Inicializar VariáveisConversão de Tipo9Laços
For sobre SériesLaço WhileBreakContinueLaços AninhadosRótulos de LoopLoop InfinitoRecapitulação - Entrada Dinâmica