您的位置:首頁(yè) > 軟件教程 > 教程 > 學(xué)習(xí)Swoole和Go語(yǔ)言的建議

學(xué)習(xí)Swoole和Go語(yǔ)言的建議

來(lái)源:好特整理 | 時(shí)間:2024-07-11 09:46:20 | 閱讀:191 |  標(biāo)簽: GO S HP 程序員 PHP   | 分享到:

這次為什么要討論這個(gè)話題,因?yàn)?Swoole 和 Go 在 PHP 程序員坊間一直都是茶語(yǔ)飯后的談資,覺(jué)得懂 Swoole 和 Go 的就高人一等。

大家好,我是碼農(nóng)先森。

學(xué)習(xí)Swoole和Go語(yǔ)言的建議

這次為什么要討論這個(gè)話題,因?yàn)?Swoole 和 Go 在 PHP 程序員坊間一直都是茶語(yǔ)飯后的談資,覺(jué)得懂 Swoole 和 Go 的就高人一等。相信有很多的 PHP 程序員,自打 Swoole 發(fā)布以來(lái)就從來(lái)沒(méi)有使用過(guò)。還記得 Swoole 官方有一遍入門(mén)文章中曾建議學(xué)習(xí) Swoole 之前,先學(xué)習(xí) Liunx 操作系統(tǒng)、TCP/UDP 網(wǎng)絡(luò)協(xié)議棧、Socket 通信等基礎(chǔ)知識(shí),作為 7 天入門(mén)、30 天精通 PHP 的靚仔們,面對(duì)這些基礎(chǔ)知識(shí)不屑一顧,還會(huì)不時(shí)的反問(wèn),這些東西難道影響我 CURD 了?

在我的工作經(jīng)歷中遇到過(guò)這樣的三類人,首先是:常年在 Window 系統(tǒng)下使用一鍵安裝包 phpStudy 的 PHP 程序員,一輩子都沒(méi)有翻開(kāi)過(guò) PHP 相關(guān)的源代碼。即使在 Linux 服務(wù)器上也是使用萬(wàn)能的寶塔面板,一鍵便啟動(dòng)了 php-fpm、MySQL、Redis 等服務(wù),如果服務(wù)出錯(cuò)誤久久不能正常運(yùn)行,便傻眼了不知所措,然后開(kāi)始在各大技術(shù)群中發(fā)求助信并艾特各位大佬。每當(dāng)我看到此種場(chǎng)景,心情都久久不能平靜。其次是:時(shí)常游跡于 Thinkphp、Laravel、YII 等各大框架社區(qū)并對(duì)框架 MVC 模式有所貢獻(xiàn)的 PHP 程序員,這些人還成為了這些框架的布道師,對(duì)框架的優(yōu)劣勢(shì)了如執(zhí)掌,但俗不知自己可能已經(jīng)陷入了框架的泥潭,在這個(gè)泥潭里久久不能自拔。最后是:偶爾會(huì)跨過(guò)互聯(lián)網(wǎng)的那堵墻去看看外面世界的 PHP 程序員,有著對(duì)技術(shù)的好奇心且不甘于現(xiàn)狀,開(kāi)始嘗試向下探索向上生長(zhǎng),但在這個(gè)追逐技術(shù)的路上不免會(huì)迷失方向,走到了技術(shù)的迷霧中。

雖說(shuō)這三類人的情況都大不相同,但相信大家對(duì) Swoole 和 Go 都有進(jìn)階學(xué)習(xí)的想法。接下來(lái)我會(huì)介紹一些學(xué)習(xí)上的建議,希望對(duì)大家能有所啟發(fā)。

學(xué)習(xí)Swoole和Go語(yǔ)言的建議

Swoole 基于 C 語(yǔ)言開(kāi)發(fā)的 PHP 異步通信擴(kuò)展,其中涉及了多進(jìn)程、協(xié)程、同步、異步、IO多路復(fù)用、Socket 等技術(shù)點(diǎn)。因此學(xué)習(xí) Swoole 之前需要先把這些概念搞懂,才能進(jìn)入下一步的學(xué)習(xí)。如果是科班出身的程序員對(duì)這些概念多少有點(diǎn)了解,非科班的就要多學(xué)習(xí)下基礎(chǔ)的知識(shí),把概念牢牢掌握。在這里我也把這些概念在 Swoole 中結(jié)合一下,比如學(xué)習(xí)了多進(jìn)程就可以理解 Swoole 的多進(jìn)程運(yùn)行模式,學(xué)習(xí)了同步異步就理解了 Swoole 中的阻塞與非阻塞模式、學(xué)習(xí)了IO多路復(fù)用就理解了 Swoole 中的事件循環(huán)的機(jī)制、學(xué)習(xí)了協(xié)程就理解了 Swoole 中協(xié)程及通信通道的用法、學(xué)習(xí)了 Socket 套接字就理解了 Swoole 中所有的網(wǎng)絡(luò)通信都基于 Socket 的原理,還有很多這里就不一一舉例了。只要把操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議的基礎(chǔ)知識(shí)學(xué)一遍,那么學(xué)習(xí) Swoole 便會(huì)更加得心應(yīng)手。反之沒(méi)有這些基礎(chǔ),那么學(xué)起來(lái)會(huì)非常的吃力,這也是很多的 PHP 程序員學(xué)習(xí) Swoole 舉步維艱的主要原因。

學(xué)習(xí)Swoole和Go語(yǔ)言的建議

再來(lái)說(shuō)說(shuō)學(xué)習(xí) Go 語(yǔ)言要具備哪些基礎(chǔ),從理論上來(lái)說(shuō)要和學(xué)習(xí) Swoole 要具備同樣的基礎(chǔ)。但是有很多人會(huì)說(shuō)了,我沒(méi)有這些基礎(chǔ)也能用 Go 開(kāi)發(fā)項(xiàng)目呀,CURD 操作開(kāi)發(fā)、API 接口開(kāi)發(fā)溜得一皮。是的,實(shí)際上沒(méi)有上面說(shuō)的那些基礎(chǔ)也能開(kāi)發(fā),但那只是 Go 應(yīng)用場(chǎng)景的冰上一角。Go 語(yǔ)言的真正優(yōu)勢(shì)是高并發(fā)特性,要想真正用 Go 開(kāi)發(fā)出高性能的項(xiàng)目,那這些基礎(chǔ)知識(shí)是必不可少的,不然可能連 Go 的協(xié)程都玩不明白,搞的內(nèi)存資源到處泄露,到頭來(lái) Bug 層出不窮得不償失,反而最后還會(huì)覺(jué)得 Go 還沒(méi)有 PHP 好用。

學(xué)習(xí)路徑

回到這篇文章的主旨討論的是學(xué)習(xí) Swoole 還是學(xué)習(xí) Go ?我認(rèn)為要先學(xué)習(xí) Swoole 再學(xué)習(xí) Go,其中的原因文中已經(jīng)有所闡述了。從近年 Swoole 的發(fā)展來(lái)看,其中很多的新特性也是從 Go 中所有借鑒。網(wǎng)上還有人調(diào)侃說(shuō) Swoole 越來(lái)越像 Go 語(yǔ)言,確實(shí) Go 語(yǔ)言自誕生以來(lái)就出身貴族「谷歌」一直帶著耀眼的光環(huán),是很多語(yǔ)言學(xué)習(xí)的榜樣? Github 的排行榜 Go 語(yǔ)言的使用熱度也是逐年的上升,因此學(xué)習(xí) Go 語(yǔ)言也是大的趨勢(shì),但在學(xué)習(xí)的路上也要打好地基腳踏實(shí)地,只要把自己這把刀磨好,就不怕耽誤砍柴的功夫。

最后我也推薦一個(gè)基礎(chǔ)知識(shí)的學(xué)習(xí)網(wǎng)站 https://xiaolincoding.com/ 這里的內(nèi)容大多數(shù)都是圖解的方式,理解起來(lái)會(huì)相對(duì)容易些,希望對(duì)大家能有所幫助。

學(xué)習(xí)Swoole和Go語(yǔ)言的建議


歡迎關(guān)注、分享、點(diǎn)贊、收藏、在看,我是微信公眾號(hào)「碼農(nóng)先森」作者。

學(xué)習(xí)Swoole和Go語(yǔ)言的建議

小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認(rèn)同期限觀點(diǎn)或證實(shí)其描述。

Go v1.62
Go v1.62
類型:動(dòng)作冒險(xiǎn)  運(yùn)營(yíng)狀態(tài):正式運(yùn)營(yíng)  語(yǔ)言:中文   

游戲攻略

游戲禮包

游戲視頻

游戲下載

游戲活動(dòng)

GoEscape是一款迷宮逃脫休閑闖關(guān)游戲。在這款游戲中,玩家可以挑戰(zhàn)大量關(guān)卡,通過(guò)旋轉(zhuǎn)屏幕的方式幫助球球

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機(jī)版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號(hào)!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]

湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2024 haote.com 好特網(wǎng)