一個 PHP 程式猿學習 Go 的體悟

舊夢與故人發表於2020-04-04

致敬英雄,緬懷同胞

天安門廣場下半旗誌哀

抗疫進行時

■ 為表達全國各族人民對抗擊新冠肺炎疫情鬥爭犧牲烈士和逝世同胞的深切哀悼,國務院釋出公告,決定2020年4月4日舉行全國性哀悼活動。在此期間,全國和駐外使領館下半旗誌哀,全國停止公共娛樂活動。4月4日10時起,全國人民默哀3分鐘,汽車、火車、艦船鳴笛,防空警報鳴響。

■ 今晨,天安門廣場舉行下半旗儀式。緬懷,為逝去的同胞。

正文開頭先來一口雞湯

沒有什麼事情是一蹴而就的,要想取得成績,那就努力吧。
                                        - 敬“明天”

為什麼想學Go

要談論學習心得,首先就得談談我為什麼要來學習Go語言了。
首先我總結了幾點原因:

  • PHP併發支援不好,就算是有了swooleworkerman等擴充套件,依舊杯水車薪
  • PHP對微服務的支援不行
  • PHP在大型企業不能滿足使用需要
  • Go語言最近幾年火變國內外
  • Go原生併發支援
  • Go入門使用簡單
  • Go第三方擴充套件豐富

好吧,看到這裡的朋友,肯定會說我又在水文了,或者說我在挖PHP的坑。

首先宣告,我沒有說PHP不好,可能是我太菜,知識面太淺薄,勿怪。

Go作為一門新興語言中的佼佼者,而作為一門新興語言能在國內快速崛起和形成趨勢,必然有它可取之處,作為新時代的程式猿,我們們不應該存有語言偏見,有好的我們需要了解和學習。
也是抱著這樣的態度,我開始了Go語言的瞭解和學習歷程。

首先講講不一樣的地方

PHPGo其實都算是或多或少的使用和保留了一部分的C語言痕跡,當然在其中,Go語言看起來更為明顯,畢竟Go是一門強編譯性語言,定義變數或者方法體時,需要嚴格的宣告其型別,程式完成需要執行時,需要先進行程式碼編譯,生成可執行的檔案,然後再執行可執行檔案,方可以檢視程式執行結果。

然後我也總結了一下不一樣的地方,如下:

(如有缺少,請大家補充說明)

  • 檔案字尾名不同
  • 程式碼名稱空間宣告不同
  • 引入第三方擴充套件不同
  • 宣告變數格式不同
  • 變數型別也有不同
  • 方法定義不同(請注意:Go中私有、公開、受保護定義方式)
  • 流程控制和迴圈控制語句使用上也有些許不同
  • 執行方式不同(上文說了,PHP是解釋性弱語言,Go是強編譯性語言)

好了,整了這麼一大堆,我想大家看了也有點懵比和反誣,再想到底這門語言好學嗎,或者說是PHP好不好轉Go語言。

我想這個問題,我不需要回答,因為Go語言的現有程式猿裡,可能有百分之40%是從PHP過渡的。
所以我想不需要解釋說明什麼了。

待續

本文未完待續,因為舊夢也需要不斷地學習,才能更好的更新….

後記

最後說一句:

有人在地方,就有江湖。有需求支配,才能迅速學習。

盼共勉,祝君榮登極道。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章