編程語(yǔ)言里的靜態(tài)、動(dòng)態(tài)、強(qiáng)類型、弱類型等概念介紹
對(duì)于動(dòng)態(tài)語(yǔ)言與靜態(tài)語(yǔ)言的區(qū)分,套用一句流行的話就是:Static typing when possible, dynamic typing when needed。
“動(dòng)”或“靜”,強(qiáng)調(diào)的是實(shí)施類型的時(shí)間,編譯里就要確定類型的是靜態(tài)類型,比如C/C++/JAVA/C#,運(yùn)行時(shí)才實(shí)施類型的則是動(dòng)態(tài)類型,比如VB/Python。
而“強(qiáng)”或“弱”剛強(qiáng)調(diào)實(shí)施類型的強(qiáng)度,強(qiáng)類型的語(yǔ)言,如C++等,變量的類型不可隨意轉(zhuǎn)換;而弱類型的語(yǔ)言,變量的類型可以隨需要任意轉(zhuǎn)換,而且通常都是隱式的。
靜態(tài)類型語(yǔ)言是指在編譯時(shí)變量的數(shù)據(jù)類型即可確定的語(yǔ)言,多數(shù)靜態(tài)類型語(yǔ)言要求在使用變量之前必須聲明數(shù)據(jù)類型,某些具有類型推導(dǎo)能力的現(xiàn)代語(yǔ)言可能能夠部分減輕這個(gè)要求.
動(dòng)態(tài)類型語(yǔ)言是在運(yùn)行時(shí)確定數(shù)據(jù)類型的語(yǔ)言。變量使用之前不需要類型聲明,通常變量的類型是被賦值的那個(gè)值的類型。
強(qiáng)類型語(yǔ)言是一旦變量的類型被確定,就不能轉(zhuǎn)化的語(yǔ)言。實(shí)際上所謂的貌似轉(zhuǎn)化,都是通過(guò)中間變量來(lái)達(dá)到,原本的變量的類型肯定是沒(méi)有變化的。
弱類型語(yǔ)言則反之,一個(gè)變量的類型是由其應(yīng)用上下文確定的。比如語(yǔ)言直接支持字符串和整數(shù)可以直接用 + 號(hào)搞定。當(dāng)然,在支持運(yùn)算符重載的強(qiáng)類型語(yǔ)言中也能通過(guò)外部實(shí)現(xiàn)的方式在形式上做到這一點(diǎn),不過(guò)這個(gè)是完全不一樣的內(nèi)涵
通常的說(shuō),java/python都算是強(qiáng)類型的,而VB/Perl/C都是弱類型的.
不過(guò)相比于動(dòng)態(tài)/靜態(tài)語(yǔ)言的分類,強(qiáng)類型/弱類型更多的是一個(gè)相對(duì)的概念。
- 使弱類型的語(yǔ)言JavaScript變強(qiáng)勢(shì)
- 動(dòng)態(tài)語(yǔ)言、動(dòng)態(tài)類型語(yǔ)言、靜態(tài)類型語(yǔ)言、強(qiáng)類型語(yǔ)言、弱類型語(yǔ)言介紹
- php判斷變量類型常用方法
- PHP 變量類型的強(qiáng)制轉(zhuǎn)換
- php 文件上傳后綴名與文件類型對(duì)照表(幾乎涵蓋所有文件)
- php 網(wǎng)頁(yè)播放器用來(lái)播放在線視頻的代碼(自動(dòng)判斷并選擇視頻文件類型)
- 淺析php數(shù)據(jù)類型轉(zhuǎn)換
- 使用php判斷瀏覽器的類型和語(yǔ)言的函數(shù)代碼
- PHP 八種基本的數(shù)據(jù)類型小結(jié)
- PHP弱類型的安全問(wèn)題詳細(xì)總結(jié)
相關(guān)文章
超好用的免費(fèi)內(nèi)網(wǎng)穿透工具【永久免費(fèi)不限制流量】
對(duì)于開(kāi)發(fā)人員來(lái)講,演示內(nèi)網(wǎng)web站點(diǎn)、本地開(kāi)發(fā)微信公眾號(hào)、小程序開(kāi)發(fā)、調(diào)試第三方支付系統(tǒng)對(duì)接等開(kāi)發(fā)環(huán)境,往往需要一個(gè)環(huán)境可以進(jìn)行調(diào)試,市面上內(nèi)網(wǎng)穿透工具有很多,這里推薦一款簡(jiǎn)單又好用的cpolar,可以永久免費(fèi)使用,不限制流量,支持http/https/tcp協(xié)議2022-09-09大數(shù)據(jù)HelloWorld-Flink實(shí)現(xiàn)WordCount
這篇文章主要介紹了大數(shù)據(jù)HelloWorld-Flink實(shí)現(xiàn)WordCount的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08http請(qǐng)求405錯(cuò)誤方法不被允許的解決 (Method not allowed)
這篇文章主要介紹了http請(qǐng)求405錯(cuò)誤方法不被允許的解決 (Method not allowed),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12微信小程序應(yīng)用號(hào)開(kāi)發(fā)體驗(yàn)
這篇文章主要介紹了微信小程序(應(yīng)用號(hào))開(kāi)發(fā)體驗(yàn)的相關(guān)資料,需要的朋友可以參考下2016-09-09解決YYC松鼠短視頻系統(tǒng)上傳視頻會(huì)被壓縮的問(wèn)題
這篇文章主要介紹了解決YYC松鼠短視頻系統(tǒng)上傳視頻會(huì)被壓縮的問(wèn)題,非常不錯(cuò)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02