您好,登錄后才能下訂單哦!
這篇文章主要介紹編程語言中動態靜態如何區分,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
根據字面意思,動態類型語言,也就是該語言的類型是動態的,什么樣的類型是動態的呢?很簡單,就是這個類型不需要聲明類型,一個類型究竟是什么類型只有在運行的時候才知道。比如說python,PHP就是動態類型語言,你會發現python和PHP中并沒有類型聲明這樣的東西,JavaScript也是如此。
在JavaScript中,聲明一個變量是這樣的:
var a;
a="W3cschool";
我們可以看到在剛開始聲明變量的時候,并沒有指定變量的類型(這里的var不是變量類型,只是一個聲明的關鍵字),在后續的引用中我們才確定了這個變量的類型(由代碼可知,這應該是一個字符串)。
在python和PHP中,變量的聲明更加激進(在python和PHP的變量聲明中甚至不需要var這樣的關鍵字)
python中:
a ="W3Cschool"
PHP中:
$a ="W3Cschool";
動態類型和靜態類型的區別不僅僅只在變量類型的聲明上,在函數聲明上也體現了這點,以JavaScript為例,在定義函數的時候,我們不需要考慮返回值的類型,所以在聲明函數的時候使用簡單的function就足矣,也不需要聲明形參的類型,這樣的函數只有在數據傳進去的時候才能知道具體的參數類型:
function add(a,b){
return a+b;
}
接著,我們來看看靜態類型是怎么做的,以下是C語言的函數聲明和變量聲明:
int add(int a,int b){
return a+b;
}
/*這是函數聲明*/
int main(){
int a; /*這是變量聲明*/
a=10;
return 0;
}
靜態類型的函數聲明與動態類型的最大區別,就是函數、變量的聲明的時候充滿著聲明相關的關鍵字。
動態類型和靜態類型各自的優點可以前往百度搜索或者關注后續文章,簡單地說,動態類型使用靈活,靜態類型因為確定了類型,對編譯器的要求會比較低(省去了確定變量類型的開銷)。而且靜態類型更易于代碼閱讀和理解。
靜態類型易于代碼閱讀理解這點,可以從python版本演變中看出端倪。在python3.6中引入對函數的參數和變量進行類型注解的功能,算是解決了動態類型語言帶來的弊端。
在介紹完了動態與靜態類型語言后,小伙伴們是否對一門語言是動態語言的判斷有一定的了解呢?下圖是一個編程語言的動態(靜態)與強類型(弱類型)的一個象限劃分,上面列舉了一些常見的語言:
以上是“編程語言中動態靜態如何區分”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。