這篇文章主要介紹“C#與Lua語言學(xué)習(xí)有哪些區(qū)別”,在日常操作中,相信很多人在C#與Lua語言學(xué)習(xí)有哪些區(qū)別問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#與Lua語言學(xué)習(xí)有哪些區(qū)別”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)公司專注于三明企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城開發(fā)。三明網(wǎng)站建設(shè)公司,為三明等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
Lua的語法基礎(chǔ)
Lua語言 作為一種編程語言,與C#有很大的差異。所以在使用之前,先通過對比的形式來明確Lua語言有哪些特點(diǎn)。
語言特性
首先,Lua語言和C#在語言特性上就有明顯的不同:
語言類型 :Lua是解析型語言,這種代碼再執(zhí)行時會按照從上到下的順序依次執(zhí)行。而C#是編譯型語言,編寫完成后會生成特殊文件,然后按照調(diào)用關(guān)系去調(diào)用函數(shù);
數(shù)據(jù)類型:Lua是弱類型語言,變量聲明時無需指定數(shù)據(jù)類型。C#是強(qiáng)類型語言,定義數(shù)據(jù)必須指定數(shù)據(jù)類型 ;
書寫格式
函數(shù)關(guān)系:Lua中的函數(shù)沒有明確的歸屬類,獨(dú)立存在。C#中的函數(shù)都屬于類。
結(jié)尾不同:C#代碼每行必須以; 結(jié)尾,Lua代碼可以以;結(jié)尾,也可以沒有結(jié)尾處的標(biāo)點(diǎn)符號。
變量書寫格式:C#聲明變量時格式為 數(shù)據(jù)類型 標(biāo)識符 = 值;Lua語言沒有數(shù)據(jù)類型的指定。
Lua的基本數(shù)據(jù)類型
數(shù)值類型:Lua的數(shù)值類型,只有number,C#有int,float,double;
布爾類型:C#為bool,而Lua為boolean;
字符串類型:Lua的字符串和C#的字符串類型都為string,并且轉(zhuǎn)義字符也基本相同。但Lua的字符串可以被" “或’ ‘或[[ ]]包裹,’ '和” "包含的字符串基本一樣(因’ ’ 包含內(nèi)容也為字符串,所以Lua沒有char類型),而被[[ ]]包裹的字符串相當(dāng)于在C#的字符串前加@,從而原格式輸出。
Lua的運(yùn)算符
相加:C#中加號表示2數(shù)或2字符串相加,但在Lua中用"…"(2個點(diǎn))。
復(fù)合運(yùn)算符:Lua中不支持復(fù)合運(yùn)算符和++、- -2個特殊運(yùn)算符。
形式不同的運(yùn)算符:Lua中不等于為~=,C#為!=。Lua中的邏輯運(yùn)算符and,or,not,C#中為&&,||,!。
Lua中的分支結(jié)構(gòu)鄭州胎記去除哪家好 http://m.zykdbh.com/
Lua中的分支結(jié)構(gòu)中沒有{},使用then…end…代替。毎有一個if(布爾表達(dá)式)后面都會跟著一個then,在代碼塊寫完后,換行接end結(jié)尾。而且,Lua中沒有switch…case…語句。
Lua中的循環(huán)結(jié)構(gòu)
Lua中的循環(huán)結(jié)構(gòu)也沒有{},使用do…end…代替。
Lua的for循環(huán)書寫格式為for 初值表達(dá)式,終值表達(dá)式(包含等于),迭代表達(dá)式。
Lua中沒有do…while()…循環(huán)語句,但有與其相似的循環(huán)語句,為repeat…until()…語句,與do…while()…不同,當(dāng)條件表達(dá)式為真時,結(jié)束循環(huán),否則一直循環(huán)。Lua中跳出循環(huán)關(guān)鍵字沒有continue,只有break。
Lua的函數(shù)結(jié)構(gòu)
C#中的函數(shù)返回值的地方有function代替,結(jié)尾處依舊使用end結(jié)尾。同樣,在Lua的函數(shù)結(jié)構(gòu)中沒有{}存在。
因Lua為解析性語言,執(zhí)行順序從上到下。所以Lua中的函數(shù)調(diào)用必須寫在函數(shù)的聲明之后。而且函數(shù)是否有返回值,取決于是否包含return。
Lua中沒有委托的概念,函數(shù)可以直接作為參數(shù)傳遞。
到此,關(guān)于“C#與Lua語言學(xué)習(xí)有哪些區(qū)別”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!