DEV Community

Higor Diego
Higor Diego

Posted on

Funções em Rust.

Alt Text

No Rust existe uma das funções mais importantes que já conhecemos que é main. O main é responsável por ser o ponto partida, onde inicia o software.

As funções são escrita no Rust com base em conversão chamada snake case isso vale para as variáveis também.

O caso de cobra (ou snake_case ) é a prática de escrever palavras ou frases compostas nas quais os elementos são separados por um caractere sublinhado (_) e sem espaços, com a letra inicial de cada elemento em minúscula no composto e a primeira letra superior ou minúsculas — como em “foo_bar” e “Hello_world”.

Vamos para o exemplo abaixo para que possamos entender a nomenclatura.

fn main() {
    let x = 10;
    print_number(x);
}

fn print_number(x: i32) {
    println!("o valor de entrada é: {}", x)
}

/*
    o valor de entrada é: 10
*/
Enter fullscreen mode Exit fullscreen mode

No exemplo temos uma função chamada print_number que a entrada tem um tipo inteiro e o objetivo é imprimir o valor que entrou.

Em cada assinatura de função você terá que declarar o tipo de valor que será de entrada, caso precise declarar uma função com varias entradas basta separar por virgula.

Segue o exemplo abaixo.


fn main() {
    let x = 10;
    let y = 20;
    print_number(x, y);
}

fn print_number(x: i32, y: i32) {
    println!("o valor de x: {} e y: {}", x, y)
}

/*
    o valor de x: 10 e y: 20
*/
Enter fullscreen mode Exit fullscreen mode

Declarações e Expressões

Declarações são instruções de código que não retornam resultado e nas expressões o resultado vem.

Se criar uma variável chamada de numero com o valor de entrada seis, estamos realizando uma declaração pois não há retorno.


fn main () {
 let numero = 6;
}

Enter fullscreen mode Exit fullscreen mode

No caso de declarar uma variável que retorna algo deixa de ser declaração e se torna expressão.

Segue abaixo o exemplo.


fn main() {
    let numero_1 = 6;
    let resposta = {
        let numero_2 = 30;
        numero_2 + numero_1
    };

    println!("resposta: {}", resposta)
}

/*
    resposta: 36
*/

Enter fullscreen mode Exit fullscreen mode

Nesse caso o resultado retornou 36 por que usamos um bloco que contém um novo escopo por meio {}, isso torna uma expressão.

Funções com retorno

As funções podem retornar ou não valores para aqueles que solicitam, no Rust para que essa funções nos retornem algo usamos uma seta ->, na maioria das funções podemos usar a palavra-chave chamada return especificando um retorno mas nessa linguagem o retorno já está implícito na ultima expressão.

Segue abaixo o exemplo.


fn soma(x: i32, y: i32) -> i32 {
    x + y   
}

fn main() {
    let result = soma(10, 20);
    println!("resultado: {}", result)
}

/*
    resposta: 30
*/

Enter fullscreen mode Exit fullscreen mode

Então galera é isso, espero que tenham gostado até a próxima.

Top comments (0)