lua基本语法之常用数据结构

一)table (表)

Table 类型实现了一种抽象的“关联数组”。即可用作数组,也可以用作map。
lua中没有数组和map,都是用table这个类型

--数组
java   int[] intArr = new int[]{1,2,3,4,5,6};
intArr[0]
intArr[1]
--map----> key value

HashMap map
map.add(key,value)
-- 初始化表
mytable = {}

-- 指定值
mytable[1]= "Lua"
mytable[2]= "Lua2"
mytalbe["k1"] = v1;

-- 移除引用
mytable = nil
-- lua 垃圾回收会释放内存

lua类似数组的table ,索引值从1开始,,而不是0
mytable={1,2,3,4,5}
mytalbe[1]

mytable={"a","b","hello","world"}

mytable1 = {key1 = "v1",k2="v2",k3="v3"}

mytable2 = {"a",key1 = "v1","b",k2="v2",k3="v3","hello","world"}

print(mytable[1],mytable[2],mytable[3],mytable[4]);
print("------------------")
print(mytable1["key1"],mytable1["k2"],mytable1["k3"]);
print("------------------")
print(mytable2[1],mytable2["key1"],mytable2[2],mytable2["k2"],mytable2[3],mytable2[4]);

talbe   key可以为 number 或字符串,,也可以是其他类型

table 是内存地址 赋值给变量

二)table进行赋值给变量,其实是把内存地址给了变量,变量只是引用了内存地址

local mytable1 = {"a",key1 = "v1","b",k2="v2",k3="v3","hello","world"}

local mytable2 =  mytable1

mytable2[1] = "aa"

print(mytable2[1])

print(mytable1[1])


mytable2 = nil  --移除的是引用

print("-------------")
print(mytable1[1])

内存指针--》C++

posted @ 2021-06-26 11:05  hochan_100  阅读(321)  评论(0编辑  收藏  举报