zoukankan      html  css  js  c++  java
  • v语言初体验

    最近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/NoneID
  • 相关阅读:
    《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅶ(延伸:堆排序的实现)
    《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅵ
    《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅴ
    Uva227.Puzzle
    UVa1587.Digit Counting
    《Two Days DIV + CSS》读书笔记——CSS选择器
    《Two Days DIV + CSS》读书笔记——CSS控制页面方式
    《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅳ
    《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅲ
    校赛总结
  • 原文地址:https://www.cnblogs.com/NoneID/p/11116166.html
Copyright © 2011-2022 走看看