Lua中使用点号(.)与冒号(:)的区别在于:
- 在函数定义的时候使用:会默认接收self参数;
- 在函数调用的时候使用:会默认传递调用者自己为参数;
- 在函数定义和调用的时候使用.则需要显式接收或者传递self参数。
local test = {}
function test:funcA()
print("I`m funcA")
end
function test.funcB(self)
print("I`m funcB")
end
test:funcA()
test.funcA(self)
test.funcB(self)
test:funcB()
-- I`m funcA
-- I`m funcA
-- I`m funcB
-- I`m funcB
其实说到底就是使用 : 比起使用 . 就可以少写很多 self,就这么简单!
ps
一般来说,在使用 Lua 进行面向对象编程的时候,声明方法和调用方法统一用冒号,对于属性的调用全部用点号!
原文链接:https://fightsyj.blog.csdn.net/article/details/86315594
版权声明:本文为weixin_43284350原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。