美文网首页V语言
V语言学习笔记-03变量

V语言学习笔记-03变量

作者: lydiandy | 来源:发表于2020-05-19 16:00 被阅读0次

V是静态类型语言,每一个变量都有对应类型

声明和赋值

V语言中只有唯一的一种变量声明和赋值方式 :=

并且声明和赋值是要同时的,这意味着变量总会有一个初始值

a:=false
b:='abc'
c:=3   //默认推断为int
f:=3.1 //默认推断为f64

类型推断

上述的代码并没有体现出变量的类型,是因为编译器会根据变量的值自动进行类型推断

显示指定类型

如果不希望由编译器自动类型推断,可以通过T(value)的格式明确变量类型,T是类型,value是变量值

x:=i64(3) //x是i64类型,而不是默认推断的int
y:=f32(3.0) //y是f32类型,而不是默认推断的f64

判断变量类型

通过使用typeof内置函数,可以判断变量类型

x:=3
s:='abc'
println(typeof(x)) //int
println(typeof(s)) //string

默认不可变

跟rust一样,变量默认不可变,要声明为可变,使用mut关键字

mut age := 20
println(age)
age = 21
println(age)

要注意区分:=和=的不同之处:

:=的含义是为变量声明并赋值

=的含义是为变量绑定一个新的值,也可以理解为修改变量值

变量声明后,如果没有被使用:

开发模式(v run),编译器只是会警告,但是仍然继续编译,方便开发调试,而不用去临时注释掉

生产编译模式(-prod),编译器会报错,停止编译

以下几种情况的代码,会编译不通过:

fn main() {
    age = 21 //变量还未声明
}
fn main() {
    age := 21 //变量声明和赋值后,没有使用,非生产编译,只会警告,--prod生产编译时会不通过
}
fn main() {
    a := 10
    if true {
        a := 20 //跟其他语言不一样,没有上级变量隐藏,在函数内部,同名的变量只能定义一个
    }
}

强制类型转换

可以通过as关键字把类型进行显式转换

如果不可显式转换的,编译器直接报错

  x:=int(3)
  y:=x as byte
  println(y)
  z:=x as f32
  println(z)
  f := 1.2
    ab := f as int
  println(ab) //输出1,强制转换丧失精度

没有模块级变量/全局变量

跟其他语言比较不同的是,V语言中的变量只能在函数中定义,就是局部变量,

这意味着V语言中没有全局变量,没有模块级变量

相关文章

  • V语言学习笔记-03变量

    V是静态类型语言,每一个变量都有对应类型 声明和赋值 V语言中只有唯一的一种变量声明和赋值方式 := 并且声明和赋...

  • Go语言笔记 | 03-变量的声明和初始化

    Go语言笔记 | 03-变量的声明和初始化 变量声明 在 go 语言中声明一个变量一般要用到关键字 var,变量声...

  • V语言学习笔记-总览

    最新版本学习笔记:github电子书 利用闲暇时间,体验了V语言,边看边动手记录,所以有了这个V语言学习笔记 写在...

  • php

    关于Php学习的有关笔记 可变变量 第一种用法 $v='age' $age=20 $v='age' 解析为 age...

  • 2018-05-23

    继续数组的学习。 指针的学习笔记和例题笔记 地址特殊的整型值不能用整型变量存储地址取地址符号& Include V...

  • day07-封装

    学习刘意老师java基础的笔记 01_成员变量和局部变量的区别 02_形式参数是类名的问题 03_匿名对象 04_...

  • Go语言学习笔记,持续更新...

    Go 学习笔记 Go语言变量和常量 1. 标识符 2. 关键字 Go语言中有25个关键字 break ...

  • JS Day1

    What is JavaScript ? 脚本语言 解释性语言 基于对象的语言 是一门弱类型语言, 声明变量都用v...

  • c语言指针

    学习c语言指针数遍,发现过了几天如初恋,于是决定写笔记记下来。 &p 取地址int *p =10指向变量的指针变量...

  • 教程收集:kotlin学习笔记

    文集:kotlin学习笔记作者:厚土火焰山 01. 函数02. 常量、变量03. 字符串模板04. NULL检查机...

网友评论

    本文标题:V语言学习笔记-03变量

    本文链接:https://www.haomeiwen.com/subject/vbpbohtx.html