最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

適合PHP同學(xué)的GoFrame框架使用體驗(yàn)及學(xué)習(xí)建議

 更新時(shí)間:2022年06月13日 09:50:28   作者:王中陽(yáng)Go  
這篇文章主要為大家介紹了非常適合PHP同學(xué)使用的GoFrame框架設(shè)計(jì)思想使用體驗(yàn)及學(xué)習(xí)建議介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

今天繼續(xù)為大家更新Go語(yǔ)言學(xué)習(xí)記錄的文章,介紹最近發(fā)現(xiàn)的一款非常優(yōu)秀的框架:GoFrame。

最近發(fā)現(xiàn)了一款非常好用的基于go語(yǔ)言的web開發(fā)框架,非常適合PHP轉(zhuǎn)Go的同學(xué)使用,在很多設(shè)計(jì)思想和使用上和PHP的Laravel框架非常像。

今天就為大家簡(jiǎn)單介紹一下GoFrame的特點(diǎn)

官方介紹

GoFrame是一款模塊化、高性能、企業(yè)級(jí)的Go基礎(chǔ)開發(fā)框架。GoFrame不是一款WEB/RPC框架,而是一款通用性的基礎(chǔ)開發(fā)框架,是Golang標(biāo)準(zhǔn)庫(kù)的一個(gè)增強(qiáng)擴(kuò)展級(jí),包含通用核心的基礎(chǔ)開發(fā)組件,優(yōu)點(diǎn)是實(shí)戰(zhàn)化、模塊化、文檔全面、模塊豐富、易用性高、通用性強(qiáng)、面向團(tuán)隊(duì)。

我的使用體驗(yàn)

官方文檔詳細(xì)介紹了框架特點(diǎn),我就不贅述了。

下面我以一個(gè)使用者和學(xué)習(xí)者的角度分享一下我的學(xué)習(xí)體會(huì)。

設(shè)計(jì)思想

設(shè)計(jì)思想是GoFrame框架的靈魂,同時(shí)對(duì)于使用者來(lái)講,是不可或缺的內(nèi)功心法。GoFrame有其獨(dú)特的設(shè)計(jì)思想,理解了GoFrame的設(shè)計(jì)思想,您就理解了GoFrame的全部。

和PHP的Laravel一樣,goframe的設(shè)計(jì)思想非常值得我們學(xué)習(xí)和借鑒。

學(xué)習(xí)建議

有基礎(chǔ)的同學(xué)

有基礎(chǔ)的同學(xué),建議可以簡(jiǎn)單熟悉一下框架設(shè)計(jì)、操作一下快速開始,然后就重點(diǎn)閱讀 核心組件

尤其是數(shù)據(jù)庫(kù)ORM需要重點(diǎn)看一下,熟悉Laravel Eloquent的同學(xué)看起來(lái)應(yīng)該比較輕松,很多使用和習(xí)慣是比較像的。

下面我舉個(gè)實(shí)例讓大家體會(huì)一下,從一些細(xì)節(jié)設(shè)計(jì)上我們能明顯感覺(jué)到設(shè)計(jì)者對(duì)PHP轉(zhuǎn)go開發(fā)者的友好。

對(duì)象管理相關(guān):

Array也是切片的別名,猜測(cè)是為了迎合PHP轉(zhuǎn)go的使用習(xí)慣,PHP的array和golang的slice切片更像,因?yàn)間o的數(shù)組的固定長(zhǎng)度的。

type(
    Var = gvar.Var //是一個(gè)通用的變量,類似泛型
    Ctx = context.Context //context.Context的別名
)
//Map是對(duì)原生map的key value約定好了類型,起的的別名
type(
    Map = map[string]interface{} 
    MapAnyAny  = map[interface{}]interface{} // MapAnyAny is alias of frequently-used map type map[interface{}]interface{}.
	MapAnyStr  = map[interface{}]string      // MapAnyStr is alias of frequently-used map type map[interface{}]string.
	MapAnyInt  = map[interface{}]int         // MapAnyInt is alias of frequently-used map type map[interface{}]int.
	MapStrAny  = map[string]interface{}      // MapStrAny is alias of frequently-used map type map[string]interface{}.
	MapStrStr  = map[string]string           // MapStrStr is alias of frequently-used map type map[string]string.
	MapStrInt  = map[string]int              // MapStrInt is alias of frequently-used map type map[string]int.
	MapIntAny  = map[int]interface{}         // MapIntAny is alias of frequently-used map type map[int]interface{}.
        .
        .
        .
)
//List是map類型的切片
type (
    List = []Map
	ListAnyAny  = []MapAnyAny  // ListAnyAny is alias of frequently-used slice type []MapAnyAny.
	ListAnyStr  = []MapAnyStr  // ListAnyStr is alias of frequently-used slice type []MapAnyStr.
	ListAnyInt  = []MapAnyInt  // ListAnyInt is alias of frequently-used slice type []MapAnyInt.
	ListStrAny  = []MapStrAny  // ListStrAny is alias of frequently-used slice type []MapStrAny.
	ListStrStr  = []MapStrStr  // ListStrStr is alias of frequently-used slice type []MapStrStr.
	ListStrInt  = []MapStrInt  // ListStrInt is alias of frequently-used 
        .
        .
        .
)
//Slice就是切片的別名
type(
	Slice    = []interface{} // Slice is alias of frequently-used slice type []interface{}.
	SliceAny = []interface{} // SliceAny is alias of frequently-used slice type []interface{}.
	SliceStr = []string      // SliceStr is alias of frequently-used slice type []string.
	SliceInt = []int         // SliceInt is alias of frequently-used slice type []int.
)
//Array也是切片的別名,猜測(cè)是為了迎合PHP轉(zhuǎn)go的使用習(xí)慣,PHP的array和golang的切片更像,因?yàn)間o的數(shù)組的固定長(zhǎng)度的。
type(
	Array    = []interface{} // Array is alias of frequently-used slice type []interface{}.
	ArrayAny = []interface{} // ArrayAny is alias of frequently-used slice type []interface{}.
	ArrayStr = []string      // ArrayStr is alias of frequently-used slice type []string.
	ArrayInt = []int         // ArrayInt is alias of frequently-used slice type []int.
)

無(wú)基礎(chǔ)的同學(xué)

無(wú)go語(yǔ)言基礎(chǔ)的同學(xué),我建議先學(xué)go的基礎(chǔ)語(yǔ)法,安利一下GO語(yǔ)言學(xué)習(xí)專欄,然后再看goframe的框架。

因?yàn)橹挥懈闱宄礼o語(yǔ)言基礎(chǔ)后,才能更好的理解goframe的優(yōu)勢(shì)和使用技巧。

就像我們做PHP的時(shí)候,一定是先學(xué)習(xí)PHP的基礎(chǔ)語(yǔ)法,然后才學(xué)TP、Laravel這類框架的。

對(duì)于有PHP基礎(chǔ),只是沒(méi)有g(shù)o語(yǔ)言基礎(chǔ)的同學(xué)來(lái)講,轉(zhuǎn)go還是比較輕松的。

可能只是不能像PHP那么靈活,那么隨心所欲的寫代碼了,嘗試一下GO語(yǔ)言苛刻的規(guī)范化開發(fā)也未嘗不是一種享受。

官網(wǎng)地址

復(fù)制粘貼的重復(fù)工作我就不做了,更多內(nèi)容建議大家查看下方的官網(wǎng)。

目前最新的2.0版本

小坑

在看文檔過(guò)程中,我們不能很明顯的知道當(dāng)前文檔的版本,這個(gè)問(wèn)題我已經(jīng)提交給社區(qū)了,目前的閱讀建議是這樣,我們把頁(yè)面拉到最上面,點(diǎn)擊左上角這里進(jìn)行版本切換。

以上就是適合PHP同學(xué)的GoFrame框架的使用體驗(yàn)及學(xué)習(xí)建議的詳細(xì)內(nèi)容,更多關(guān)于GoFrame框架學(xué)習(xí)建議的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go語(yǔ)言使用時(shí)會(huì)遇到的錯(cuò)誤及解決方法詳解

    Go語(yǔ)言使用時(shí)會(huì)遇到的錯(cuò)誤及解決方法詳解

    這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言使用時(shí)常常會(huì)遇到的一些錯(cuò)誤及解決方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-07-07
  • go語(yǔ)言題解LeetCode506相對(duì)名次示例詳解

    go語(yǔ)言題解LeetCode506相對(duì)名次示例詳解

    這篇文章主要為大家介紹了go語(yǔ)言題解LeetCode506相對(duì)名次示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Go語(yǔ)言實(shí)現(xiàn)字符串切片賦值的方法小結(jié)

    Go語(yǔ)言實(shí)現(xiàn)字符串切片賦值的方法小結(jié)

    這篇文章主要給大家介紹了Go語(yǔ)言實(shí)現(xiàn)字符串切片賦值的兩種方法,分別是在for循環(huán)的range中以及在函數(shù)的參數(shù)傳遞中實(shí)現(xiàn),有需要的朋友們可以根據(jù)自己的需要選擇使用。下面來(lái)一起看看吧。
    2016-10-10
  • Go語(yǔ)言變量與基礎(chǔ)數(shù)據(jù)類型詳情

    Go語(yǔ)言變量與基礎(chǔ)數(shù)據(jù)類型詳情

    Go 是靜態(tài)(編譯型)語(yǔ)言,是區(qū)別于解釋型語(yǔ)言的弱類型語(yǔ)言(靜態(tài):類型固定,強(qiáng)類型:不同類型不允許直接運(yùn)算),下面文章將對(duì)其進(jìn)行詳細(xì)介紹,需要的朋友可以參考一下
    2021-09-09
  • Golang 實(shí)現(xiàn) Redis系列(六)如何實(shí)現(xiàn) pipeline 模式的 redis 客戶端

    Golang 實(shí)現(xiàn) Redis系列(六)如何實(shí)現(xiàn) pipeline 模式的 redis 客戶端

    pipeline 模式的 redis 客戶端需要有兩個(gè)后臺(tái)協(xié)程負(fù)責(zé) tcp 通信,調(diào)用方通過(guò) channel 向后臺(tái)協(xié)程發(fā)送指令,并阻塞等待直到收到響應(yīng),本文是使用 golang 實(shí)現(xiàn) redis 系列的第六篇, 將介紹如何實(shí)現(xiàn)一個(gè) Pipeline 模式的 Redis 客戶端。
    2021-07-07
  • Golang服務(wù)的請(qǐng)求調(diào)度的實(shí)現(xiàn)

    Golang服務(wù)的請(qǐng)求調(diào)度的實(shí)現(xiàn)

    Golang服務(wù)請(qǐng)求調(diào)度是一種使用Go語(yǔ)言實(shí)現(xiàn)的服務(wù)請(qǐng)求管理方法,本文主要介紹了Golang服務(wù)的請(qǐng)求調(diào)度的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • Go設(shè)計(jì)模式之備忘錄模式圖文詳解

    Go設(shè)計(jì)模式之備忘錄模式圖文詳解

    備忘錄模式是一種行為設(shè)計(jì)模式, 允許在不暴露對(duì)象實(shí)現(xiàn)細(xì)節(jié)的情況下保存和恢復(fù)對(duì)象之前的狀態(tài),本文主要通過(guò)一些圖片來(lái)給大家介紹一下Go的備忘錄模式,需要的朋友可以參考下
    2023-08-08
  • Golang二進(jìn)制文件混淆保護(hù)操作

    Golang二進(jìn)制文件混淆保護(hù)操作

    這篇文章主要介紹了Golang二進(jìn)制文件混淆保護(hù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • Go語(yǔ)言結(jié)構(gòu)體Go range的學(xué)習(xí)教程

    Go語(yǔ)言結(jié)構(gòu)體Go range的學(xué)習(xí)教程

    這篇文章主要為大家介紹了Go語(yǔ)言結(jié)構(gòu)體Go range的學(xué)習(xí)教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 利用Golang解析json數(shù)據(jù)的方法示例

    利用Golang解析json數(shù)據(jù)的方法示例

    Go提供了原生的JSON庫(kù),并且與語(yǔ)言本身有效的集成在了一起。下面這篇文章將給大家介紹關(guān)于利用Golang解析json數(shù)據(jù)的方法,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07

最新評(píng)論

周宁县| 调兵山市| 剑河县| 咸阳市| 揭阳市| 克什克腾旗| 东丽区| 长垣县| 子长县| 太谷县| 天津市| 天峨县| 莆田市| 灌阳县| 拉孜县| 水城县| 东方市| 樟树市| 邵阳县| 塔河县| 白银市| 自治县| 南江县| 乌拉特前旗| 张家口市| 宿迁市| 赤壁市| 荔浦县| 佛教| 大宁县| 湖州市| 壤塘县| 甘谷县| 开鲁县| 永修县| 长武县| 桂平市| 昂仁县| 灌阳县| 黄大仙区| 鹿泉市|