首頁 >後端開發 >Golang >golang是物件導向嗎?

golang是物件導向嗎?

coldplay.xixi
coldplay.xixi原創
2020-07-18 16:29:585042瀏覽

golang不是物件導向的,go是過程導向的語言,也不是函數式程式設計範式,其表現在缺少箭頭函數,需要明確宣告lambda,而且不講究純函數和immutable。

golang是物件導向嗎?

golang不是物件導向的,go是物件導向的語言

沒有class ,一般oop特徵明顯的語言會定義出class關鍵字,而且很多會強制要求你把程式碼全部塞入class裡面去,以實現萬事萬物都是對象,甚至包括main函數,都做成static放進去

也不是函數式程式設計範式,其表現在缺少箭頭函數,需要明確宣告lambda,而且不講究純函數和immutable

go的程式碼不講究封裝和整理,很多原始碼都是幾千行程式碼待在裡面,表現出了典型的過程式語言的基本特徵

多數腳本語言,c等都是過程式的,go的語言特性跟這些語言很相似,只是增加了gc,goroitine等常用工具而已,作者本身就對oop,fp等缺乏了解,只是根據c的經驗,整理出了一些常用的工具,然後將其放到語言的runtime中去罷了

你說可以做出類似效果,那就猶如java你全部用static也能寫得跟c類似一樣,那並不是一個語言範式的基本特徵

相關學習推薦:Go語言教學

以上是golang是物件導向嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn