如何從PHP過渡到golang?
您好,您這個問題應該包含兩個方面。一個是php程序員如何轉成golang程序員,一個是php項目如何轉換成golang項目。
對于php程序員來說,如果之前接觸過c語言,或者閱讀過php底層源碼的話,那么學習golang會容易一些,golang繼承了c語言的一些特性,同時又簡化了它的使用。
golang首先它是編譯型語言,這和php這種解釋型語言有著本質的區別,之前很多在php中需要運行時才能檢查出來的錯誤,現在在編譯期都能查詢出來。
php的關鍵字很少,語法也很簡潔,但是它有些概念和使用方法需要深入理解,對于goroutine,對于channel,對于并發,你需要深入研究才能夠初探它的皮毛,而要深入了解,你這需要源碼一層去一窺全貌。
對于php項目過渡到golang項目,你會發現節省了大量服務器資源。
在golang這種常駐內存的語言中,是有線程池的概念的,如果你接觸過swoole,你可能會理解一些,如果沒接觸過,也沒有關系,你只需要知道在將php項目轉換成golang項目的過程中,你不僅僅只是要注意代碼的轉換,思路的裝換更重要。
在使用php的時候,我們并不需要過多考慮資源的回收利用問題,因為每一次請求都是獨立的進程來完成的,兩次請求之間并不會共享資源。而在golang中,我們就需要考慮線程并發問題,考慮鎖的問題。
可以說golang是吸取了c,java,python的優點,然后集百家之長而創造出的一門編程語言,它本身有自己的缺點,但是它的優點毋庸置疑,它讓編程變得更加簡單,讓代碼運行效率變得更高效,讓編寫代碼變得更加容易。
總結無論學習任何一門編程語言,你都需要大量的實踐才能掌握,很多技巧你只是學習語法是掌握不到的,你只要不斷地從項目中吸取經驗,多看一些項目,你才能一點點地進步。
golang相比于其它編程語言誕生的時間不算太長,沒有過多的歷史包袱,因此現在學習它是最好的時機,畢竟一門編寫代碼簡單,運行效率又高的語言還是很有吸引力的。