Compreendendo as funções no Rust

Compreendendo as funções no Rust
Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

As funções são construções de programação essenciais, pois estabelecem uma base para a reutilização de código e facilitam a programação modular. As funções são blocos independentes de código que executam tarefas específicas. Eles podem receber entrada, na forma de argumentos, e retornar um valor.





Rust fornece funções para organização de código, encapsulamento e reutilização de código.





MAKEUSEDO VÍDEO DO DIA

Definindo funções em Rust

  Visualização das funções de ferrugem do Jetbrains

As funções de ferrugem são muito parecidas funções em qualquer outra linguagem de programação , embora existam pequenas diferenças que você precisa entender.





Você definirá funções para seus programas Rust com o fn palavra-chave seguida pelo nome da função, argumentos opcionais e um retorno opcional tipo de dados .

 // function that neither takes in arguments nor returns a value 
fn function_name() {
    // function body here
}

Aqui está uma função Rust simples que não aceita nenhum argumento nem retorna nenhum valor.



 fn a_function(){ 
    let x = 3;
    println!("{}", x)
}

uma função é uma função Rust simples que imprime a variável x .

Assinaturas de função de ferrugem

As assinaturas de função são uma maneira de nomear funções e descrever seus argumentos e tipos de retorno, sem incluir um corpo de função. As assinaturas de função são úteis para documentar APIs de bibliotecas Rust.





arquivos em lote úteis para Windows 10

Aqui está um exemplo de assinatura de função Rust:

 fn name() 

fn greet(name: &str)

O nome função é uma assinatura de função mínima, enquanto o saudar assinatura especifica que a função recebe um único argumento, nome , do tipo string ( &str ).





Declarando funções com argumentos e valores de retorno

As funções Rust podem receber muitos argumentos e o limite não é definido explicitamente. Funções com argumentos geralmente são mais flexíveis, pois podem receber valores de outras funções e partes do código.

Aqui está o modelo típico de uma função Rust que recebe argumentos:

 fn function_name(arg: type, arg2: type) { 
    // function body here
}

O tipo de argumento da função pode ser um tipo interno do Rust ou um tipo personalizado do seu programa.

Aqui está um exemplo de uma função simples que recebe dois números inteiros como argumentos:

 fn add_numbers(x: i32, y: i32) { 
    println!("{}", x + y);
}

O add_numbers A função recebe dois inteiros de 32 bits e imprime a soma dos inteiros.

As funções Rust podem retornar vários valores; você terá que especificar o(s) tipo(s) de retorno e retornar os valores do tipo da função.

 fn function_name(arg: type, arg2: type) -> (type, type) { 
    // function body here
    return arg, arg2
}

Aqui está uma função que recebe uma string e um inteiro de 32 bits como argumento e retorna os argumentos como uma tupla.

 fn string_and_integer(s: String, n: i32) -> (String, i32) { 
    return (s, n);
}

O string_and_integer A função recebe uma string e um inteiro de 32 bits, retornando-os como uma tupla. Você só pode retornar um único valor de uma função Rust.

Você pode deixar de fora retornar palavra-chave ao retornar a expressão final de uma função, para tornar o código mais conciso.

iphone não está aparecendo no iTunes
 fn string_and_integer(s: String, n: i32) -> (String, i32) { 
    return (s, n);
}

// the functions are equivalent

fn str_and_int(s: String, n: i32) -> (String, i32) {
    (s, n)
}

Essas duas funções têm o mesmo comportamento, pois ambas recebem uma string e um inteiro e retornam esses argumentos como uma tupla.

Chamando funções Rust

Você pode chamar uma função de outra escrevendo seu nome seguido pelos valores que deseja passar para ela entre parênteses:

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

fn main() {
    let result = add_numbers(3, 5);
    println!("The result is {}", result); // Output: The result is 8
}

O principal chamadas de função add_numbers , passando-lhe dois inteiros. Atribui o resultado da função a uma variável, resultado .

  Resultado da chamada do exemplo de funções Rust

Você pode declarar funções para estruturas de ferrugem

Você pode declarar funções dentro de estruturas Rust. Eles se tornam métodos para a estrutura que pode acessá-la e modificá-la.

Rust não é puramente orientado a objetos, mas fornece structs para agrupar dados relacionados. Você pode trabalhar para implementar conceitos OOP em Rust usando structs com métodos.