DEV Community

Higor Diego
Higor Diego

Posted on

3 2

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.

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay