v语言初体验

原文链接:
http://www.cnblogs.com/wang-li/p/11116166.html


最近github上开源了一个”新语言”vlang,火的不得了,我不信,于是乎,尝试了一下,真香。

以下内存均来自 https://www.v-lang.cn v语言文档 by 20190701

ubuntu安装vlang

 

依赖安装

这里采用的是ubuntu的机器,centos的会报错,暂时没有去操作

查看机器型号

$ uname -a
Linux liwang 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
$

安装必要依赖 gcc 和 make

$ sudo apt install gcc make -y
$

下载编译安装v

$ git clone https://github.com/vlang/v
$ cd v/
$ make
$ sudo ln -s ~/v/v /usr/local/bin/

测试

$ v
V 0.1.10
Use Ctrl-D or `exit` to exit
For now you have to use println() to print values, this will be fixed soon

>>> print ('hello world')
hello world
>>> $
$

 

Hello world

代码

$ cat hello.v
fn main() {
        /*
        * 注意: v 语言中 字符串不允许 使用双引号,至少在 v1.0版本不行
        */
        println('Hello World')
}
$

 

编译运行

编译.v文件

$ v hello.v
$ ./hello && rm -f hello
Hello World
$

编译运行

直接使用 v run file.v 可以编译并且运行二进制文件

$ v run hello.v
============ running hello ============
Hello World
$

函数

语法/案例

函数和golang类似 语法

fn 函数名称 (形参) 返回值 {
函数体
}

例子

$ cat func1.v

fn v_add(x,y int) int {
        z := x + y
        return z
}

fn main() {
        a := 1
        b := 2

        c := v_add(a,b)
        println(c)
}
$

编译运行

$ v run func1.v
============ running func1 ============
3
$

数组

数组基本用法

代码

$ cat arrays.v
fn main() {
        // 定义数组
        test_array := [1,2,3]

        // 打印数组
        println(test_array)

        // 输出数组长度
        println(test_array.len)

        // 判断数组是否包含 1
        println(test_array.contains(1))

        // 判断数组是否包含 4
        println(test_array.contains(4))
}
$

编译执行

$ v run arrays.v
============ running arrays ============
[1, 2, 3]
3
true
false
$

可变数组

默认数组定义好之后,是不能修改其长度的,而在其前面加上关键字 mut ,则可以实现变长数组,例如

代码

$ cat arrays_1.v
fn main() {
        // 定义可变数组
        mut other_arrays := [1,2,3]

        // 打印数组长度
        println('数组变化前长度')
        println(other_arrays.len)

        // 打印数组内容
        println('数组内容')
        println(other_arrays)

        // 追加数组值
        other_arrays << 4

        // 打印数组长度
        println('数组追加后长度')
        println(other_arrays.len)

        // 打印数组内容
        println('数组内容')
        println(other_arrays)

}
$

 

编译运行

ps: 目前的方法我只找到了追加,还未找到删除,[尴尬–]

$ v run arrays_1.v
============ running arrays_1 ============
数组变化前长度
3
数组内容
[1, 2, 3]
数组追加后长度
4
数组内容
[1, 2, 3, 4]
$

 

未完待续。。。

转载于:https://www.cnblogs.com/wang-li/p/11116166.html