vlang 試用


vlang 是最近出來的一門編程語言,集成了rust,golang, 等語言的特性,輕量、簡潔、編譯
快速,詳細的比價參數可以參考官方文檔

安裝

目前盡管官方提供了linux以及mac 的二進制文件,但是發現運行還是有點問題,所以最好的方法還是使用源碼編譯

  • 源碼編譯v 編譯器
 
mac:
git clone https://github.com/vlang/v
cd v/compiler
make
linux:
這個就有稍有點問題,主要是gcc 版本,我使用的centos7,需要使用sc 進行gcc 多版本的處理
安裝sc gcc 版本:
sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
gcc -v
編譯與mac 一樣
git clone https://github.com/vlang/v
cd v/compiler
make

簡單使用

  • 簡單代碼

    hello_world.v

import http
import os
fn main() {
    names := ['Sam', 'Peter']
    printnames(names)
    printenv()
    fetchbaidu()
}
// for each demo
fn printnames(n []string) {
     for item in n {
         println(item)
     }
}
// os env
fn printenv(){
    println(os.getenv('USERNAME'))
}
// http demo
fn fetchbaidu() {
    resp := http.get('https://www.baidu.com')
    println(resp)
}
// function demo
fn printusername(n string) {
    println(n)
}
 
  • 代碼說明
    以上代碼包含了簡單的http、env、function、array 的代碼,從以上可以看出代碼還是很清晰的
  • 運行&&編譯
    實際上運行就會有一個編譯的二進制文件 運行命令
    v run hello_world.v
    效果:
 
v run hello_world.v 
============running hello_world==============================
Sam
Peter
dalong
<!DOCTYPE html><!--STATUS OK-->
<html>
<head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=Edge">
        <link rel="dns-prefetch" href="//s1.bdstatic.com"/>
        <link rel="dns-prefetch" href="//t1.baidu.com"/>
        <link rel="dns-prefetch" href="//t2.baidu.com"/>
        <link rel="dns-prefetch" href="//t3.baidu.com"/>
        <link rel="dns-prefetch" href="//t10.baidu.com"/>
        <link rel="dns-prefetch" href="//t11.baidu.com"/>
        <link rel="dns-prefetch" href="//t12.baidu.com"/>
        <link rel="dns-prefetch" href="//b1.bdstatic.com"/>
.....
 
 

生成生產二進制文件:
v -prod hello_world.v

說明

v 已經內置了好多可選的模塊json http ui,基本是夠用了,同時支持的數據類型也是比較多,有自己的模塊概念(類似rust)
看看后邊的發展,期望在ide ,模塊倉庫上有提升,還有就是跨平台的語言構建(目前測試看着還是不支持的,盡管官方文檔
有描述)。

參考資料

https://vlang.io/#faq
https://github.com/vlang/v


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM