三小时学会V语言到放弃(第一小时)


 

有编程基础的基本跟着敲一遍就差不多了,基础的语法都基本就熟悉了,由于V语言现在还没有正在release出来,所以有很多的语法还没有完善的,有些语法错误可以忽略,但是确保你是敲对了。

第一个小时首先把最基础的语法先敲一敲,敲完就差不多了。

大概可以分成几个部分:定义变量,数组,字符串,if,for,in,switch

 

基本类型

bool 布尔类型
string 字符串类型
i8 i16 i32 i64 i128 (soon)
u8 u16 u32 u64 u128 (soon)
byte // 是 u8 的别名
int  // 是 i32 的别名,与C,Go不同,int 始终为 32字节
rune // 是 i32 的别名,表示Unicode代码点
f32 f64
byteptr
voidptr

单行注释
//hello world

多行注释
/*
Hi this first V lanuage test
*/

函数
/*
function test
*/
fn add(x int,y int)
{
        return x + y
}
fn mul(x int,y int)
{
        return x * y
}

fn main()
{
        //定义变量用 :=
        a := 10
        //在''里打印变量使用$,不在''里不需要加$ 也就是println(a)
        println('a:$a')

        //定义字符串
        name := 'arron'
        println('Hi $name')
        println('Hello world')

        //使用str.len获取字符串长度
        println('length:$name.len')

        //字符串的拼接与拆分
        full_name := name + ' wu'
        println('fullname: $full_name')
        println(full_name.substr(1,3))

        //默认定的变量是不可以被改变的,要想改变需要使用mut
        mut b := 1
        println('b:$b')
        b = 2
        println('b:$b')

        age := 23
        println('age:' + age.str())

        //数组
        nums := [1,2,3]
        println(nums)
        for num in nums{
                println(num)
        }
        //可变数组 in判断是否在xxx里
        mut names := ['kobe']
        names << 'Brayant'
        println(names)
        println('kobe' in names)

        //一次定义十个,初始值为99
        n := 10
        mut ns := [99;n]
        println(ns)

        //if
        if a == 10{
                println('a == 10')
        }
        else{
                println('a != 10')
        }

        //升阶用法
        num := 20
        s := if num % 2 == 0{
                'yes'
        }
        else{
                'no'
        }
        println('s:$s')

        //for 循环
        mut sum := 0
        mut i := 0
        for i <= 100{
                sum += i
                i++
        }
 
        // for 循环代替while
        for {
                i++
                if i == 105{
                        break
                }
        }
        println('i:$i')
        println('sum:$sum')

        //switch 语句,不需要break
        os := 'windows'
        switch os{
        case 'apple':
                println('Mac OS.')
        case 'linux':
                println('Linux OS.')
        default:
                println(os)
        }
}
输出结果:
root@SW-SERVER:~/v_test# vim hi.v
root@SW-SERVER:~/v_test# ./hello
a:10
Hi arron
Hello world
length:5
fullname: arron wu
rr
b:1
b:2
age:23
[1, 2, 3]
1
2
3
["kobe", "Brayant"]
1
[99, 99, 99, 99, 99, 99, 99, 99, 99, 99]
a == 10
s:yes
i:105
sum:5050
windows