請問為什么要說swift是強類型語言?
4 回答

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

莫回無
TA貢獻1865條經驗 獲得超7個贊
Swift在今年的WWDC上正式公布,它是iOS和OS X系統編程語言Objective-C的繼任者。Swift編程語言為開發者提供了全新、簡潔和高效的編程方式,讓開發應用更簡單。
Swift的開發者可以在自己的博客上講述那些開發幕后的故事。不過目前Swift博客上還沒有什么內容,只提到了Swift編程語言的兼容性。
值得一提的是,Swift博客是蘋果官方網站的第一個blog,這也代表了蘋果對開發者和消費者的態度正變得越來越開放。
添加回答
舉報
0/150
提交
取消