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 .

Source link