UH2S1L2——变量

本章代码关键字

1
2
3
4
5
nil            --空
number --数字
string --字符串
boolean --布尔值
type() --获取类型函数,返回字符串

关于变量声明

Lua的变量声明与C#不同,是不需要在变量前指定变量类型的
它会根据赋值的内容自动判断变量类型,这有点类似于C#中的var​​

1
a = 123            --值得一提的是,这样声明出来的是全局变量,貌似在Lua的代码约定里,全局变量首字母要大写,不过学习阶段暂时无所谓这个

lua中使用没有声明过的变量,不会报错,默认值是****​nil

1
2
print("**********变量**********")
print(b)

输出:

1
2
**********变量**********
nil

简单变量类型

Lua中的简单变量类型包括:nil​、number​、string​、boolean

以后会学习的复杂数据类型包括:

  • 函数 function
  • table
  • 数据结构 userdata
  • 协同程序 thread​(线程)

nil

有点类似于C#中的null​,即空

lua中使用没有声明过的变量,不会报错,默认值是nil

1
2
3
print("**********nil**********")
a = nil
print(a)

输出:

1
2
**********nil**********
nil

number

所有的数值类型都是number​,包括整数或者浮点数

1
2
3
4
5
print("**********number**********")
a = 1
print(a)
a = 1.2
print(a)

输出:

1
2
3
**********number**********
1
1.2

string

Lua中没有C#会有的char​类型,因此字符串的声明用双引号或者单引号都可以

1
2
3
4
5
print("**********string**********")
a = "12312"
print(a)
a = '123'
print(a)

输出:

1
2
3
**********string**********
12312
123

boolean

与C#的bool​类型没有什么区别,都是表示真假的类型

1
2
3
print("**********boolean**********")
a = false
print(a)

输出:

1
2
**********boolean**********
false

通过Type()函数获取变量类型

通过type​函数,我们可以得到变量的类型,通过这个函数返回类型是用string​表示的

1
2
3
4
5
6
7
8
9
10
print("**********type**********")
a = nil
print(type(a))
a = 123
print(type(a))
a = "12312"
print(type(a))
a = false
print(type(a))
print(type(type(a)))

输出:

1
2
3
4
5
6
**********type**********
nil
number
string
boolean
string