4 回答

TA貢獻1804條經(jīng)驗 獲得超8個贊
是靜態(tài)語言,但是可以嵌入動態(tài)內(nèi)容。比如
1234 | let a = 1 let b = 2 let c = "a + b = \(a + b)" print(c) |
上述程序編譯是靜態(tài)的,強類型檢查。但是執(zhí)行 c 字符串時,內(nèi)容進行了動態(tài)解釋,打印結(jié)果實際上先在\()符號內(nèi)評估表達式,再填寫內(nèi)容,所以得到的結(jié)果是 a + b = 3
其內(nèi)部機制是調(diào)用Swift REPL,你可以簡單理解為Swift語言的動態(tài)腳本。
計算機語言發(fā)展到今天,已經(jīng)不那么區(qū)分靜態(tài)語言和動態(tài)語言了。Swift作為強類型檢查的靜態(tài)編譯語言,可以加載動態(tài)鏈接庫、連接到動態(tài)模塊,也可以通過字符串轉(zhuǎn)義進行動態(tài)腳本分析。
相反,如Python這類的動態(tài)語言腳本,同樣可以用C/C++靜態(tài)編譯的模塊進行擴展,并且通過pyc進行中間編譯,更不用說java/VB的bitcode,你說這算靜態(tài)語言還是動態(tài)語言呢?我認為靜態(tài)語言與動態(tài)語言的概念已經(jīng)可以擱置了。

TA貢獻1815條經(jīng)驗 獲得超6個贊
Swift在今年的WWDC上正式公布,它是iOS和OS X系統(tǒng)編程語言O(shè)bjective-C的繼任者。Swift編程語言為開發(fā)者提供了全新、簡潔和高效的編程方式,讓開發(fā)應(yīng)用更簡單。
Swift的開發(fā)者可以在自己的博客上講述那些開發(fā)幕后的故事。不過目前Swift博客上還沒有什么內(nèi)容,只提到了Swift編程語言的兼容性。
值得一提的是,Swift博客是蘋果官方網(wǎng)站的第一個blog,這也代表了蘋果對開發(fā)者和消費者的態(tài)度正變得越來越開放。

TA貢獻1830條經(jīng)驗 獲得超9個贊
從面向?qū)ο?/a>的角度Swift語言沒有封裝特性,在變量聲明的時候可以不指定具體的數(shù)據(jù)類型,由編譯器自動推斷出來它的類型,看起來很像JavaScript,其實Swift的很多特征都類似于JavaScript。
- 4 回答
- 0 關(guān)注
- 1153 瀏覽
添加回答
舉報