此條目需要补充更多来源。 (2018年7月20日) |
類型系統 |
---|
一般概念 |
主要分类 |
次要分类 |
![]() | 此條目可参照英語維基百科相應條目来扩充。 |
強弱型別(Strong and weak typing)表示在電腦科學以及程式設計中,經常把程式語言的类型系统分为強型別(英語:strongly typed)和弱型別(英語:weakly typed (loosely typed))两种。這兩個術語並沒有非常明確的定義,但主要用以描述程式語言對於混入不同資料型別的值進行運算時的處理方式。強型別的語言遇到函式引數型別和實際叫用型別不符合的情況經常會直接出錯或者編譯失敗;而弱型別的語言常常會實行隐式转换,或者产生难以意料的结果。這對術語在短短的電腦歷史中,早已含括了更多的意義,而且時常很難知道寫的人究竟要表達哪個意思。
程式語言專家 Benjamin C. Pierce,《Types and Programming Languages》和《Advanced Topics in Types and Programming Languages》的作者,曾說:
大致而言,「強型別」隱含著程式語言對容許混合情況出現加上了嚴格的限制,以避免程式碼以無效的資料使用方式編譯或執行。例如,整數除法運算不可用於字串;鏈表上的運算步驟不可用於數字。然而,這些限制的本質和效力是極易改變的。
已经被写作者认定为“强型別”的一些要素包括: