Se você estiver interessado em explorar mais tópicos de ferrugem, verifique nossa lista de ferrugem para saber mais.
O parâmetro
Ao declarar tipos genéricos, você encontrará o parâmetro. É usado para representar qualquer tipo de dados em ferrugem:
Um exemplo do parâmetro de tipo em uma função é um mostrado:
fn my_functionO acima define uma função genérica que leva um argumento de qualquer tipo.
Você pode definir vários parâmetros genéricos, separando -os com vírgulas:
fn my_functionNa sintaxe acima, definimos vários parâmetros genéricos, t, u, v. Embora não seja necessário, é comum encontrar tipos genéricos a partir de t e incrementando o alfabeto.
Ferrugem definir estrutura genérica
Podemos definir uma estrutura genérica, como mostrado na sintaxe abaixo:
StructNameVeja o exemplo, estrutura definida abaixo:
estrutura mystructO acima cria uma estrutura genérica com dois parâmetros. Dentro da estrutura, especificamos dois membros da estrutura do tipo T e U. Como T e U são tipos genéricos, eles podem ser de qualquer tipo.
Funções genéricas
A mesma construção pode ser aplicada a funções e métodos. Se uma função for necessário, é considerado uma função genérica.
A definição de função genérica é como mostrado:
fn func_nameVeja o exemplo da definição de função genérica abaixo:
fn genéricoNeste exemplo, temos uma função genérica que leva qualquer tipo e a imprime para o console. No entanto, a execução do código acima causará um erro.
Como estamos usando um parâmetro genérico, precisamos implementar o traço de exibição ou depuração para imprimi -lo. Podemos refinar o código como:
Use std :: fmt :: Debug;Nesse caso, importamos o traço de depuração e o usamos para o tipo genérico. Podemos então imprimir o valor usando o espaço reservado para características de depuração: :?
O mesmo caso se aplica se uma função precisar executar qualquer tipo de operação. Pegue a função de exemplo abaixo que retorna 0 se um valor for par e 1 se outra.
FN Even_oddSe chamarmos a função acima, ele retornará um erro. Precisamos implementar a característica REM para que funcione como:
Use std :: ops :: rem;As características REM e EQ permitem que você use o operador restante e execute a comparação lógica.
Conclusão
Neste artigo, exploramos os fundamentos de trabalhar com tipos genéricos na linguagem ferrugem. Verifique os documentos para saber mais.