Noções básicas de Mojo

A sintaxe do Mojo se assemelha ao Python à primeira vista. O uso de recuos em vez de colchetes para delinear blocos, palavras-chave comuns (def para funções, etc.), como o fluxo de controle é tratado (if/else/while/for), exceções e anotações de tipo serão familiares aos desenvolvedores Python.

Onde o Mojo rompe com o Python e demarca seu próprio território, começa com a forma como os valores são tratados nas variáveis. As variáveis ​​possuem tipos fortes, atribuídos por meio de anotações ou inferidos automaticamente a partir de sua primeira atribuição. Se você definir a igualar 1você não pode configurá-lo para "Greetings earthlings" mais tarde. (Em Python, os próprios objetos são fortemente tipados, mas os nomes usados ​​para se referir a eles não possuem tipos.)

Mojo rompe ainda mais com Python adicionando um conceito encontrado em Rust: propriedade de valores. Em vez da coleta de lixo em tempo de execução, o Mojo usa a propriedade para rastrear o tempo de vida dos objetos em tempo de compilação.

Para indicar que você deseja transferir a propriedade de um valor, você usa a sintaxe “sigilo de transferência”: