Então… o que é V?
Se você conseguiu terminar neste artigo, provavelmente é porque você não tem ideia do que é Vlang ou quer saber mais. De qualquer forma, é simples: Vlang é uma linguagem de programação. Isso esclarece tudo? (Brincadeira.)
Para ser mais específico, Vlang é uma linguagem de programação estaticamente tipada criada por Alexander Medvednikov que se tornou open source em julho de 2019. De acordo com o criador, o nome foi encurtado para V para evitar bagunçar a história do Git. É semelhante ao Go e inspirado em Rust , Swift e Oberon.
Na documentação, V se orgulha do tempo de compilação semelhante ao C (o código de backend principal compila para C), menos alocação de memória, curva de aprendizado fácil, serialização integrada (transformação de objetos em fluxos de bytes) e sem dependências após a compilação. A segurança de V também é excelente, sem nulos, sem variáveis globais, sem indefinidos e com suporte para verificação de limites. Por padrão, ele também oferece suporte a funções puras, variáveis imutáveis e estruturas imutáveis.
Com o básico coberto, passaremos o resto do artigo falando um pouco mais sobre essas reivindicações e para onde V pode ser direcionado no futuro.
Primeiros passos com V
Para acompanhar, você deve ter git
, um compilador C como o gcc
e make
já instalados ; se não, vá em frente e configure-os antes de prosseguirmos.
Para começar com Vlang, é melhor instalar diretamente do código-fonte (Github).
Se estiver no MacOS, Linux, FreeBSD, etc., execute:
git clone https://github.com/vlang/v && cd v && make
No Windows:
clone git https://github.com/vlang/v cd v faço
Isso irá se auto-compilar e construir V em sua máquina.
Em seguida, para evitar redigitar o caminho de execução completo repetidamente, adicione V ao seu caminho da seguinte maneira.
No MacOS:
link simbólico
sudo./v
No Windows:
. \ v.exe link simbólico
Escrevendo nosso primeiro programa Vlang
Para o nosso primeiro programa, usaremos o familiar hello world
:
//hello_world.v fn main () { println ('Olá, mundo!') }
Salve este arquivo como hello_world.v
e execute v execute hello_world.v
para obter sua saída.
Lembre-se de que V é digitado estaticamente, então os tipos vêm depois do nome do argumento, assim:
fn add (x int, y int) int { retornar x + y }
Usando funções em V
Como C ++, V não permite sobrecarga de função, o que significa que duas funções não podem ter o mesmo nome com parâmetros diferentes. Limitar a sobrecarga de funções visa tornar o código mais fácil de manter.
Em V, as funções também são privadas por padrão, portanto, outros módulos não podem usá-las, a menos que incluamos pub
nelas, como:
//uma função pública pub fn add () { } //uma função privada soma fn () { }
Usando variáveis em V
Variáveis em V são atribuídas com :=
, como no snippet abaixo:
nome:='Victor' idade:=23 número_grande:=i64 (9999999999) println (nome) println (idade) println (número_grande)
Eles também são imutáveis; para ser capaz de redeclarar/reatribuir uma variável, você terá que acrescentar mut
a ela, assim:
idade mut:=23 println (idade) idade=24 println (idade)
Usando tipos em V
Como agora sabemos muito bem, V é tipado estaticamente. Abaixo estão seus tipos primitivos:
bool fragmento i8 i16 int i64 i128 (em breve) byte u16 u32 u64 u128 (em breve) rune//representa um ponto de código Unicode f32 f64 any_int, any_float//tipos intermediários internos de literais de número byteptr, voidptr, charptr, size_t//são usados principalmente para interoperabilidade C qualquer//semelhante ao void * de C e à interface de Go {}
Outros tipos de dados são:
- Strings,
- Números,
- Arrays
V também suporta interpolação de strings:
nome:='Victor' println ('Olá, $ name!')//Olá, Victor!
Suporte HTTP e decodificação JSON
Vlang possui suporte HTTP embutido para busca de dados e decodificação JSON. Para usá-los, você precisará importar seus respectivos módulos:
importar http import json fn fetchUsers () { usuários:=http.get ('http://jsonplaceholder.typicode.com/users') ou { println ('falha ao buscar usuários do servidor') Retorna } }
Se você planeja trabalhar com a API JSON como no exemplo acima, precisará decodificar a resposta do URL (alterar os dados de uma string para um objeto) antes de poder lidar com isso.
Para fazer isso, primeiro você precisará definir uma estrutura para o seu tipo de resposta, conforme mostrado no exemplo abaixo:
struct User { string de nome email int } importar http import json fn fetchUsers () [] User { usuários:=http.get ('http://jsonplaceholder.typicode.com/users') usuários:=json.decode ([] Usuário, usuários) ou { return [] Usuário {} } }
Gerenciador de pacotes
V tem um gerenciador de pacotes embutido chamado vpm. Para usar o vpm, execute:
v install [pacote]
Gerenciamento de memória em V
Semelhante ao Rust, o Vlang usa tipos de valor e buffers de string para gerenciamento de memória, mas não faz a coleta de lixo. Abaixo está uma demonstração oficial de V:
O Autofree também pode ser desativado para realizar a liberação manual de memória -noautofree
.
Por que usar Vlang?
V tem uma sintaxe mais simples e legível do que muitos outros frameworks ( como Rust ), tornando-o limpo e fácil de usar. Sua filosofia principal é fazer cada coisa de uma maneira com muito poucas regras.
Na minha opinião, V é uma versão mais limpa do Go, com recursos interessantes como recarregamento a quente, verificação de opções/resultados e erros obrigatórios, sem nulos, sem variáveis globais e sem comportamento indefinido. V também tem a vantagem de poder ser usado na maioria dos campos, como desenvolvimento web, desenvolvimento de jogos, programação de sistemas, GUI, incorporado, ferramentas, móvel (WIP) e outros.
Embora haja muito mais trabalho a ser feito para que o V ultrapasse alguns dos outros frameworks por aí, agora é um ótimo momento para começar a entender a linguagem e contribuir para seu desenvolvimento.
Conclusão
Com tantas outras linguagens de programação por aí, é importante lembrar que V ainda está em estágio alfa, o que significa que a maioria das partes ainda está em desenvolvimento. No entanto, parece uma linguagem muito boa com sua abordagem de “uma maneira de fazer as coisas”. Isso torna o código previsível e muito fácil de manter.
A documentação V também adiciona à sua simplicidade e faz um bom trabalho ajudando os usuários tenha uma ideia de como tudo é e como funciona.
Para mais informações sobre o Vlang, verifique alguns dos recursos abaixo. Nesse ínterim, espero que este artigo tenha respondido a algumas de suas perguntas sobre a linguagem V e seu papel na programação moderna.
Mais sobre Vlang
A postagem O que é Vlang? Uma introdução apareceu primeiro no LogRocket Blog .