变量
name := 'Bob'
age := 20
large_number := i64(9999999999)
println(name)
println(age)
println(large_number)
变量使用:=
声明和初始化,这是V语言唯一定义变量的方式。因此,V语言中所有的变量必须指定一个初始化的值。
变量的类型是从右值推导来的。要使用其它类型,必须手工强制转换类型:使用T(v)
表达式将v转换为T类型。
和其它主流语言不同的是,V语言只能在函数内部定义变量。V语言没有模块级别的全局变量,因此也没有全局状态。
mut age := 20
println(age)
age = 21
println(age)
使用=
给变量重新赋值。不过在V语言中,变量默认是不可再次改变的。如果需要再次改变变量的值,必须用mut
修饰变量。可以尝试删除mut
,然后再编译上面的代码。
需要注意:=
和=
的差异,前者是用于声明和初始化变量,后者是重新给变量赋值。
fn main() {
age = 21
}
上面的代码将不能编译,因为变量没有被声明过。V语言中所有的变量必须要先声明。
fn main() {
age := 21
}
上面的代码依然不能被编译,因为V语言中禁止声明没有被使用的变量。
fn main() {
a := 10
if true {
a := 20
}
}
和很多其它语言不同的是,不同块作用域的变量不得重名。上面的例子中,变量a已经在外层被声明过,因此不能再声明a名字的变量。