Usando Módulos para Reutilizar e Organizar Código

Quando você começa a escrever programas em Rust, seu código pode se manter apenas na função main. À medida que seu código cresce, você acabará por mover funcionalidades para outras outras funções a fim de reutilizar código e melhorar a organização. Ao dividir seu código em pequenos pedaços, cada pedaço é mais fácil de entender por si só. Mas o que acontece se você tem muitas funções? Rust possui um sistema de módulos que permite a reutilização de código de forma organizada.

Da mesma forma que você extrai linhas de código em uma função, você pode extrair funções (e outros códigos, como structs e enums) em diferentes módulos. Um módulo é um namespace que contém definições de funções ou tipos, e você pode escolher se essas definições são visíveis fora de seu módulo (público) ou não (privado). Aqui está uma visão geral de como os módulos funcionam:

  • A palavra-chave mod declara um novo módulo. O código dentro do módulo aparece    imediatamente após esta declaração dentro de chaves ou em    outro arquivo.
  • Por padrão, as funções, tipos, constantes e módulos são privados. A palavra-chave pub    torna um item público e, portanto, visível fora do seu namespace.
  • A palavra-chave use traz módulos, ou as definições dentro dos módulos, ao    escopo, assim é mais fácil se referir a eles.

Examinaremos cada uma dessas partes para ver como elas se encaixam no todo.