網(wǎng)站設(shè)計(jì)流程長(zhǎng)沙互聯(lián)網(wǎng)推廣公司
為什么學(xué)習(xí)go
博主的主語(yǔ)言是Java,目前的工作也是做Java web開發(fā),有了Java的經(jīng)驗(yàn)后就想著再學(xué)一門語(yǔ)言,其實(shí)有兩個(gè)原因,第一是基于興趣,也想和Java對(duì)比下到底有什么不同,在學(xué)習(xí)go的時(shí)候讓我更加了解了Java的一些思想,學(xué)了go以后才知道Java目前的生態(tài)和框架目前就是最強(qiáng)的開發(fā)效率也是最高的,go相比之下確實(shí)有些簡(jiǎn)陋。第二是可以試試除了Java,還可不可以有其他的機(jī)會(huì)。
go學(xué)習(xí)心得
其實(shí)只要會(huì)了一門編程語(yǔ)言有了一定的經(jīng)驗(yàn)后,再學(xué)習(xí)一門新的語(yǔ)言確實(shí)會(huì)快很多。在我之前發(fā)布的關(guān)于go的文章,其實(shí)也是自己堅(jiān)持學(xué)習(xí)的動(dòng)力和一些總結(jié),首先我快速的學(xué)完go的基礎(chǔ)語(yǔ)法,就開始了web單體應(yīng)用的開發(fā)學(xué)習(xí),之后就是go微服務(wù)的開發(fā)學(xué)習(xí),以及go的一些中間件等等。和Java不一樣(SpringBoot確實(shí)強(qiáng)大)的是go其實(shí)開發(fā)web應(yīng)用并沒有Java爽。比如集成go的swagger就很麻煩,但go的依賴管理比Java更加的方便。除此以外Go沒有運(yùn)行在虛擬機(jī)Jvm之上,但是有GC。Go可以直接打包linux windows mac的包,也可以構(gòu)建成docker image等。大家熟悉的docker k8s? ollama 都是使用go開發(fā)的。
go-web單體項(xiàng)目(腳手架)
我的目錄劃分
1.base - 全局的配置、變量等
2.cmd - 項(xiàng)目啟動(dòng)時(shí)的初始化、以及退出時(shí)的操作
3.docs - go swag自動(dòng)生成的在線文檔
4.internal - web業(yè)務(wù)開發(fā)
5.router - 接口的總路由
技術(shù)棧
go+gin+mysql+swagger+redis+viper+zap