十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
盡量不要使用ORM,簡(jiǎn)單的數(shù)據(jù)庫(kù)交互是會(huì)省很多事。
創(chuàng)新互聯(lián)長(zhǎng)期為上千家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為綠春企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站制作、成都做網(wǎng)站,綠春網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
但是一旦查詢(xún)語(yǔ)句越來(lái)越復(fù)雜,關(guān)聯(lián)表越來(lái)越多,當(dāng)你發(fā)現(xiàn)正在使用的ORM框架做不到時(shí)再換其他框架代價(jià)會(huì)很大。為什么有那么多框架?就是沒(méi)有一個(gè)框架能解決所有哪怕是大多數(shù)問(wèn)題。
建議只使用數(shù)據(jù)庫(kù)驅(qū)動(dòng)庫(kù),database/sql庫(kù),可以完成所有g(shù)o語(yǔ)言與數(shù)據(jù)庫(kù)的交互。
作為一個(gè)測(cè)試,作為一個(gè)測(cè)試開(kāi)發(fā), 全?;?管理 是我們未來(lái)的發(fā)展方向。已經(jīng)掌握了Java、Python、HTML的你,是不是也想了解下最近異常火爆的Go語(yǔ)言呢?來(lái)吧,讓我們一起了解下。
Go 是一個(gè)開(kāi)源的編程語(yǔ)言 ,它能讓構(gòu)造簡(jiǎn)單、可靠且高效的軟件變得容易。
Go是從2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持開(kāi)發(fā),后來(lái)還加入了Ian Lance Taylor, Russ Cox等人,并最終于2009年11月開(kāi)源,在2012年早些時(shí)候發(fā)布了Go 1穩(wěn)定版本?,F(xiàn)在Go的開(kāi)發(fā)已經(jīng)是完全開(kāi)放的,并且擁有一個(gè)活躍的社區(qū)。這三個(gè)人都是計(jì)算機(jī)界的大神,有的參與了C語(yǔ)言的編寫(xiě),有的還是數(shù)學(xué)大神,有的還獲得了計(jì)算機(jī)最高榮譽(yù)-圖靈獎(jiǎng)。
接下來(lái)說(shuō)說(shuō) Go語(yǔ)言的特色 :
簡(jiǎn)潔、快速、安全
并行、有趣、開(kāi)源
內(nèi)存管理、數(shù)組安全、編譯迅速
Go語(yǔ)言的用途 :
Go 語(yǔ)言被設(shè)計(jì)成一門(mén)應(yīng)用于搭載 Web 服務(wù)器,存儲(chǔ)集群或類(lèi)似用途的巨型中央服務(wù)器的系統(tǒng)編程語(yǔ)言。
對(duì)于高性能分布式系統(tǒng)領(lǐng)域而言,Go 語(yǔ)言無(wú)疑比大多數(shù)其它語(yǔ)言有著更高的開(kāi)發(fā)效率。它提供了海量并行的支持,這對(duì)于 游戲 服務(wù)端的開(kāi)發(fā)而言是再好不過(guò)了。
Go語(yǔ)言的環(huán)境安裝:
建議直接打開(kāi) 官方地址因?yàn)閴Φ脑虼虿婚_(kāi)
因?yàn)槲矣玫氖莣indows系統(tǒng),這里主要講下Windows系統(tǒng)上使用Go語(yǔ)言來(lái)編程。
Windows 下可以使用 .msi 后綴(在下載列表中可以找到該文件,如go1.17.2.windows-amd64.msi)的安裝包來(lái)安裝。
默認(rèn)情況下 .msi 文件會(huì)安裝在 c:Go 目錄下。你可以將 c:Gobin 目錄添加到 Path 環(huán)境變量中。添加后你需要重啟命令窗口才能生效。個(gè)人建議還是安裝到 Program Files文件夾中。
使用什么開(kāi)發(fā)工具來(lái)對(duì)Go語(yǔ)言進(jìn)行編寫(xiě):
個(gè)人建議用VS code, 也可以用Sublime Text來(lái)編輯。如果你之前看了我講的HTML語(yǔ)言的學(xué)習(xí),肯定已經(jīng)下載了VS code. 那么這時(shí)你需要在VS code中下載Go語(yǔ)言的擴(kuò)展插件。
這里有一個(gè)巨大的坑,就是在下載Go的插件和依賴(lài)包時(shí),會(huì)提示一些包沒(méi)有。主要是因?yàn)橄螺d的依賴(lài)包部分被墻了,只能想別的辦法去下載。
建議參考網(wǎng)頁(yè):
解決vscode中g(shù)olang插件安裝失敗方法
在學(xué)習(xí)go的過(guò)程中,使用的是vscode,但是一直提示安裝相關(guān)插件失敗,然后上網(wǎng)查方法,基本上是叫你建立golang.org目錄什么的,結(jié)果全是錯(cuò)的,而且都是抄襲,很煩。無(wú)意之中看到一位博主分享的方法,他也是飽受上述的垃圾博文困擾,然后找到了解決方法,這里向他致敬,秉著讓更多人看到正確解決方法的心,我寫(xiě)下正確的解決方法,希望對(duì)你有所幫助,也可以點(diǎn)開(kāi)原博主鏈接參考:
Go有一個(gè)全球模塊代理,設(shè)置代理再去安裝golang的插件,就可以安裝成功了。步驟有,首先Windows用戶(hù)打開(kāi)Powershell,一個(gè)藍(lán)色的界面,注意不是cmd!不知道的直接打開(kāi)window下面的搜索,然后輸入powershell,搜索出來(lái)就可以了。
$env:GO111MODULE=“on”
$env:GOPROXY=“”
go env -w GOPROXY=
go env -w GOPRIVATE=*.corp.example.com
然后我們打開(kāi)VsCode界面,下面會(huì)提示安裝插件,我們選擇Install ALL,就會(huì)安裝成功
當(dāng)你在運(yùn)行Go語(yǔ)言程序時(shí),提示所有的插件包都已經(jīng)安裝成功了時(shí),就可以正常使用了,要不然一堆報(bào)錯(cuò)會(huì)讓你非常心煩。
好了,今天先到這里,晚安、下班~
⑴ Go Kit
它本身不是一個(gè)框架,而是一套微服務(wù)工具集,可以用于解決分布式系統(tǒng)開(kāi)發(fā)中的大多數(shù)常見(jiàn)問(wèn)題,所以使用者可以專(zhuān)注于你的業(yè)務(wù)邏輯中。
⑵ Gingko
是一個(gè)Go測(cè)試框架,目的是幫助我們使用行為驅(qū)動(dòng)開(kāi)發(fā)風(fēng)格高效地編寫(xiě)富有表現(xiàn)力和全面的測(cè)試,它有著非常良好的幫助文檔,任何人都可以輕松地在項(xiàng)目中集成使用它。
⑶ NSQ
實(shí)時(shí)分布式消息傳遞平臺(tái),提供高可用性和可靠的消息傳遞保證,可以水平擴(kuò)展,支持負(fù)載均衡,安裝部署非常方便。
⑷ Goose
Golang中最佳的數(shù)據(jù)庫(kù)遷移包,通過(guò)創(chuàng)建增量SQL更改和Go函數(shù)來(lái)管理數(shù)據(jù)庫(kù)結(jié)構(gòu),在Go1.16版本以上,還支持了嵌入式sql遷移。
⑸ GORM
是一個(gè)功能齊全的Golang對(duì)象關(guān)系映射庫(kù),是一種開(kāi)發(fā)人員友好的工具,用于在不兼容的類(lèi)型系統(tǒng)之間轉(zhuǎn)換數(shù)據(jù),專(zhuān)門(mén)設(shè)計(jì)用于在類(lèi)型系統(tǒng)之間切換時(shí)最大限度地減少重寫(xiě)代碼。
⑹ Authboss
一個(gè)模塊化的身份驗(yàn)證包,使用它你可以快速地在項(xiàng)目中進(jìn)行身份驗(yàn)證管理。它有幾個(gè)常見(jiàn)的身份驗(yàn)證和授權(quán)模塊供開(kāi)發(fā)人員選擇。
⑺ cli
是一個(gè)簡(jiǎn)單快捷的命令行管理包,用于為Go語(yǔ)言構(gòu)建命令行應(yīng)用程序,允許開(kāi)發(fā)人員開(kāi)發(fā)自己的富有表現(xiàn)力的命令行應(yīng)用程序,用于創(chuàng)建標(biāo)志、bash完成例程并生成幫助文本。
⑻ Vegeta
是一個(gè)用于HTTP負(fù)載測(cè)試的工具包,這個(gè)多功能工具專(zhuān)為測(cè)試具有恒定請(qǐng)求率的HTTP服務(wù)而設(shè)計(jì)。它可以有效地分析程序中的潛在問(wèn)題,是一個(gè)始終貫穿以提高整體性能為目的的包。
包名本質(zhì)上是所在目錄的名稱(chēng),我們?cè)诨A(chǔ)知識(shí)演示用例中進(jìn)行擴(kuò)展,進(jìn)一步理解包名,執(zhí)行前需要執(zhí)行的命令請(qǐng)參考上一節(jié),首先來(lái)看一下目錄結(jié)構(gòu):
此時(shí),如果我們想使用subpackage/sub/subfunc.go時(shí),需要import的是subpackage/sub,而不是subpackage/sub/subfunc,來(lái)看具體的實(shí)現(xiàn):
我們回到使用的主函數(shù)中,我們?cè)谥骱瘮?shù)中引入"subpackage/sub",而調(diào)用中直接使用了文件名稱(chēng)myfunc
執(zhí)行的結(jié)果如下
二進(jìn)制包安裝的話:如果安裝在了默認(rèn)位置例如/usr/local/go (Windows系統(tǒng):c:\Go)這個(gè)時(shí)候可以不需要設(shè)置GOROOT,如果改變了安裝的這個(gè)默認(rèn)目錄,那么就需要設(shè)置GOROOT
GOROOT的概念有點(diǎn)Go安裝目錄的意思
GOPATH是一個(gè)開(kāi)發(fā)環(huán)境目錄的意思,下面必須包含bin、pkg、src,然后再src下面新建項(xiàng)目就可以了
你在沒(méi)有設(shè)置GOPATH的情況下,也可以把項(xiàng)目建在GOROOT/src下面,其實(shí)和GOPATH的概念類(lèi)似