馬兵GoLang后端工程師2023 士
Go 直接在底層硬件上運(yùn)行
與其他現(xiàn)代高級(jí)語(yǔ)言(如 Java/Python)相比,使用 C、C++ 的最大好處就是它的性能,因?yàn)?C/C++ 是編譯型語(yǔ)言而不是解釋型語(yǔ)言。
處理器能理解二進(jìn)制文件。通常來(lái)說(shuō),當(dāng)你編譯一個(gè)用 Java 或者其他基于 JVM 的語(yǔ)言構(gòu)建的應(yīng)用程序,它將人類(lèi)可讀的代碼編譯為字節(jié)代碼,這可以被 JVM 或者在底層操作系統(tǒng)之上運(yùn)行的其他虛擬機(jī)所理解。當(dāng)執(zhí)行的時(shí)候,虛擬機(jī)解釋這些字節(jié)碼并且將他們轉(zhuǎn)化為處理器能理解的二進(jìn)制文件。
用 Go 編寫(xiě)的代碼易于維護(hù)
我告訴你一件事,Go 沒(méi)有像其他語(yǔ)言一樣瘋狂于編程語(yǔ)法,它的語(yǔ)法非常整潔。
Go 的的設(shè)計(jì)者在谷歌創(chuàng)建這門(mén)語(yǔ)言的時(shí)候就考慮到了這一點(diǎn),由于谷歌擁有非常強(qiáng)大的代碼庫(kù),成千上萬(wàn)的開(kāi)發(fā)者都工作在相同的代碼庫(kù)上,代碼應(yīng)該易于其他開(kāi)發(fā)者理解,一段代碼應(yīng)該對(duì)另一段代碼有最小的影響。這些都會(huì)使得代碼易于維護(hù),易于修改。
Go 有意的忽視了許多現(xiàn)代面向?qū)ο笳Z(yǔ)言的一些特性。
沒(méi)有類(lèi)。?所有代碼都僅用 package 分開(kāi),Go 只有結(jié)構(gòu)體而不是類(lèi)。
不支持繼承。?這將使得代碼易于修改。在其他語(yǔ)言中,如: Java/Python,如果類(lèi) ABC 繼承類(lèi) XYZ 并且你在類(lèi) XYZ 中做了一些改動(dòng),那么這可能會(huì)在繼承類(lèi) XYZ 的其他類(lèi)中產(chǎn)生一些副作用。通過(guò)移除繼承,Go 也使得理解代碼變得很容易?(因?yàn)楫?dāng)你在看一段代碼時(shí)不需要同時(shí)查看父類(lèi))。