『壹』 go有哪些快速開發的web框架
推薦五款開快速開發的Web框架,希望能夠幫助題主,供大家一起交流學習。
1. 項目名稱:基於 Go 的 Web 框架 Faygo
項目簡介:Faygo 是一款快速、簡潔的 Go Web 框架,可用極少的代碼開發出高性能的 Web 應用程序(尤其是API介面)。只需定義 struct Handler,Faygo 就能自動綁定、驗證請求參數並生成在線API文檔。
2. 項目名稱:基於 Go 的 Web 開發框架 essgo
項目簡介:essgo 是一款 Go 語言開發的簡單、穩定、高效、靈活的 web 開發框架。它的項目組織形式經過精心設計,實現前後端分離、系統與業務分離,完美兼容 MVC 與 MVVC 等多種開發模式,非常利於企業級應用與 API 介面的開發。當然,最值得關注的是它突破性支持運行時路由重建,開發者可在 Admin 後台輕松配置路由,並實現啟用/禁用模塊或操作、添加/移除中間件等!同時,它以 ApiHandler 與 ApiMiddleware 為項目基本組成單元,可實現編譯期或運行時的自由搭配組合,也令開發變得更加靈活富有趣味性。
3. 項目名稱:模塊化設計的 Go Web 框架 Macaron
項目簡介:Macaron 是一個具有高生產力和模塊化設計的 Go Web 框架。框架秉承了 Martini 的基本思想,並在此基礎上做出高級擴展。
4. 項目名稱:基於Go 的輕量級 Web 框架 GoInk
項目簡介:HxGo 是基於我以往的 php 開發經驗編寫的 Go Web 框架。力求簡單直接,符合大眾編寫習慣,同時性能優良。 HxGo 基於 MVC 的結構模式,實現 REST 支持的自動路由分發,簡化 HTTP 請求和視圖操作。同時,HxGo 提供簡易直接的數據訪問層,高效直接操作資料庫內容。
5. 項目名稱:簡單高效的 Go web 開發框架 Baa
項目簡介:Baa 是一個簡單高效的 Go web 開發框架。主要有路由、中間件,依賴注入和HTTP上下文構成。Baa 不使用 反射和正則,沒有魔法的實現。
特性:
支持靜態路由、參數路由、組路由(前綴路由/命名空間)和路由命名;
路由支持鏈式操作;
路由支持文件/目錄服務;
中間件支持鏈式操作;
支持依賴注入*;
支持 JSON/JSONP/XML/HTML 格式輸出;
統一的 HTTP 錯誤處理;
統一的日誌處理;
支持任意更換模板引擎(實現 baa.Renderer 介面即可)。
『貳』 golang web開發頁面傳值怎麼傳
如果你是指兩個頁面之間的傳值,那麼可以這么做:
簡單的話,可以通過URL傳值,比如 http://example.com?name=gem
可以通過讀取url的參數name獲得gem。
也可以通過session,cookie等方法,這兩種方法就有一些限制,比如換個瀏覽器,session和cookie就不一樣了,那麼你傳的值就不存在了。
所以第一種會比較通用。
如果是傳值給模板(一般是模板引擎之類的,比如html/template),這些教程很多,搜一下比較快速解決
『叄』 如何構建一個高效的 golang web 開發環境,golang go run watch
好的測試應該是先按照函數來測。
比如你有一個包,下面有一個文件叫a.go,函數寫在裡面,你要先測試函數是否是對的,你要建一個a_test.go來測,好的IDE也很重要。
如果你要看的是Web端的界面渲染效果,那隻能是重新go run。
不然,你要自己寫個CLI工具,自動監聽你的文件變化,變化了就重新Run。文件變化,一般都是記錄其文件HASH,如果有文件HASH變化了,那程序自動幫你go run 。
建議參考beego框架的bee工具。
『肆』 go語言怎樣做web開發
不會成為web主流
go是設計初衷來做系統應用和取代C++的....
目前主要用傳統編譯型語言編譯成機器碼的形式...
和web開發的跨平台標准化等特性有距離...
會成為很方便系統應用開發、客戶端開發的語言...
『伍』 web開發都需要學什麼內容
主要分為4部分吧,前端、後台、資料庫和web伺服器,下面我簡單介紹一下:
1.前端:這個毋庸置疑,你所看到的所有web頁面幾乎都是基於Html,CSS和JS的,頁面的布局、色彩的搭配、動態效果的實現,幾乎都是基於前端的,這個是網頁的骨架和基礎,所以做web應用開發的話,首先需要學習的就是前端,不需要你對前端知識多麼的精通,掌握Vue、React等框架,但最起碼能看懂頁面大概代碼,標簽屬性等,所以,如果你對前端一點都不了解的話,建議花個幾天時間學習,很簡單,網上資料很多:
2.後台:前端開發出來的頁面都是靜態的,一成不變的,要實現數據的實時更新顯然是不可能的,這個時候就需要後台開發語言,完成與資料庫的交互,將資料庫中存儲的數據實時取出展現到前台頁面,開發語言就很多了,像常見的Java,C#,Php,Python,Go等都可以(幾乎都有對應web框架),如果你沒有任何基礎,又想快速開發出網頁的話,可以學習一下Php,專門用於web開發的語言,學習起來很簡單:
3.資料庫:這個就不多說了,你所看到的幾乎所有網站在存儲數據的時候,都會使用資料庫,不管是關系型還是非關系型的,一是存儲方便,二是容易管理,至於資料庫的種類,這個就很多了,像常見的Mysql,SQL Server,Oracle,PostgreSQL等,都可以作為後端存儲資料庫,至於選擇哪個資料庫,這個根據實際項目需求而定,如果你沒有任何資料庫基礎的話,可以學習一下MySQL資料庫,開源、簡單、容易學習:
4.web伺服器:開發的網站,當用戶進行訪問時,需要對用戶提供服務,也就是對用戶的請求做出響應,用戶請求哪一個頁面,返回哪一個頁面,這時候就需要web伺服器,至於種類的話,有Apacha,Tomcat,IIS和Nginx等,比較流行的是Nginx,這個需要根據項目實際需求而定,性能、負載等都需要考慮,感興趣的話,可以自己研究一下:
就分享這4個方面吧,要想完完全全弄懂這4個方面需要花費很大的功夫和時間,建議選擇一兩個方向學懂學通就行,其他方面可以了解一下,網上也有相關教程和資料
『陸』 如何配置go語言開發環境
1、下載go的zip文件。並且一定要把文件解壓到c:\go目錄下。
2、配置windows的高級環境變數。包括:GOROOT、GOOS、GOBIN、GOARCH。並且在path變數裡面把c:\go\bin加入。以便可以在命令行直接運行go命令。
舉例:我的機器:
GOPATH= c:\go;c:\go\src;F:\workspace\goSample01;
GOBIN=c:\go\bin;F:\workspace\goSample01\bin;
其中,c:\go是go的安裝路徑;
F:\workspace\goSample01是我寫的go語言項目的工程目錄;
F:\workspace\goSample01\bin是go語言項目的工程目錄下的可執行文件路徑;
3、在完成環境變數配置後,打開一個命令行窗口,直接輸入go,然後回車,看看是否出現go的幫助信息。如果出現,那麼go的基本環境就OK了。
注意:這個基本環境不包含開發工具,也不能直接編譯帶C代碼的go程序。
4、(可選)為了支持Import遠程包,最好裝個gomingw。下載地址:http://code.google.com/p/gomingw/downloads/list。如果下的是壓縮包,請把它解壓到C盤。例如,C:\gowin-env。裡面有個Console.bat是以後使用go get的環境。舉例:有個文件a.go,裡面import(
"fmt"
"github.com/astaxie/beedb"
_ "github.com/ziutek/mymysql/godrv"
為了編譯該a.go文件,需要啟動Console.bat,然後在該命令行窗口,進入c:\go\src目錄下,執行go getgithub.com/astaxie/beedb
Go get github.com/ziutek/mymysql/godrv .
Go會自動下載該遠程包並編譯和安裝這些包。
配置goclipse(可選)
(如果不喜歡eclipse開發工具,請跳過這個配置。)
1、下載並安裝goclipse插件。Goclipse是go語言for eclipse的插件,下載地址:http://code.google.com/p/goclipse/
2、啟動eclipse並創建go項目。然後寫個最簡單的helloworld.go文件,並運行。代碼如下:
packagemainimport"fmt"func main(){ fmt.Printf("hello, world")}
配置gocode(可選)
如果不需要go語法輔助和eclipse裡面的(按ALT+/)彈出go語言自動輔助功能,請跳過這個配置。
1、下載gocode的zip文件,解壓後放在go的bin目錄下。
2、下載並安裝Git軟體。並且在path裡面配置git的執行路徑。例如c:\git\bin
3、在命令行執行:go build .\gocode。如果一切正常,那麼將會編譯生成一個gocode.exe文件在go的bin目錄下。如果編譯失敗,那麼就轉第4步。
4、如果第3步直接編譯gocode源文件成功,那就直接到第5步。否則,就需要通過git下載gocode源文件,然後再編譯。在命令行執行:go get -u github.com/nsf/gocode 。就會生成gocode.exe文件。
5、在goclipse插件裡面指定gocode的路徑。就可以在elcipse裡面調用gocode來幫助寫編碼了。
從開發工具這塊看,go語言還不夠成熟,開發工具都還不完善,有待改進。
下載go-tour教程源代碼(可選)
Google有個在線運行go語言的教程(http://tour.golang.org/#2),很不錯。支持在web上直接運行大部分的go程序,想了解這個教程的源代碼的朋友可以通過以下方式獲取。如果沒興趣,可以跳過這個步驟。
『柒』 如何使用Docker部署Go Web應用程序
步驟一 - 創建Dockerfile
如下的Dockerfile可以滿足以上的要求:
**FROM** golang:1.6
*# Install beego and the bee dev tool*
**RUN** go get github.com/astaxie/beego && go get github.com/beego/bee
*# Expose the application on port 8080*
**EXPOSE** 8080
*# Set the entry point of the container to the bee command that runs the*
*# application and watches for changes*
**CMD** ["bee", "run"]
第一行,
FROM golang:1.6
將Go的官方映像文件作為基礎映像。該映像文件預安裝了 Go 1.6 . 該映像已經把 $GOPATH 的值設置到了 /go 。所有安裝在 /go/src 中的包將能夠被go命令訪問。
第二行,
RUN go get github.com/astaxie/beego && go get github.com/beego/bee
安裝 beego 包和 bee 工具。 beego 包將在應用程序中使用。 bee 工具用語在開發中再現地重新載入咱們的代碼。
第三行,
EXPOSE 8080
在開發主機上利用容器為應用程序開放8080埠。
最後一行,
CMD ["bee", "run"]
使用bee命令啟動應用程序的在線重新載入。
步驟二 - 構建image
一旦創建了Docker file,運行如下的命令來創建image:
docker build -t ma-image .
執行以上的命令將創建名為ma-image的image。該image現在可以用於使用該應用程序的任何人。這將確保這個團隊能夠使用一個統一的開發環境。
為了查看自己的系統上的image列表,運行如下的命令:
docker images
這行該命令將輸出與以下類似的內容:
REPOSITORY TAG IMAGE ID CREATED SIZE
ma-image latest 8d53aa0dd0cb 31 seconds ago 784.7 MB
golang 1.6 22a6ecf1f7cc 5 days ago 743.9 MB
注意image的確切名字和編號可能不同,但是,應該至少看到列表中有 golang 和 ma-image image。
步驟三 - 運行容器
一旦 ma-image 已經完成,可以使用以下的命令啟動一個容器:
docker run -it --rm --name ma-instance -p 8080:8080 \
-v /app/MathApp:/go/src/MathApp -w /go/src/MathApp ma-image
讓咱們分析一下上面的命令來看看它做了什麼。
。docker run命令用於從一個image上啟動一個容器
。-it 標簽以交互的方式啟動容器
。--rm 標簽在容器關閉後將會將其清除
。--name ma-instance 將容器命名為ma-instance
。-p 8080:8080 標簽允許通過8080埠訪問該容器
。-v /app/MathApp:/go/src/MathApp更復雜一些。它將主機的/app/MathApp映射到容器中的/go/src/MathApp。這將使得開發文件在容器的內部和外部都可以訪問。
。ma-image 部分聲明了用於容器的image。
執行以上的命令將啟動Docker容器。該容器為自己的應用程序開發了8080埠。無論何時做了變更,它都將自動地重構自己的應用程序。自己將在console(控制台)上看到以下的輸出:
bee :1.4.1
beego :1.6.1
Go :go version go1.6 linux/amd64
2016/04/10 13:04:15 [INFO] Uses 'MathApp' as 'appname'
2016/04/10 13:04:15 [INFO] Initializing watcher...
2016/04/10 13:04:15 [TRAC] Directory(/go/src/MathApp)
2016/04/10 13:04:15 [INFO] Start building...
2016/04/10 13:04:18 [SUCC] Build was successful
2016/04/10 13:04:18 [INFO] Restarting MathApp ...
2016/04/10 13:04:18 [INFO] ./MathApp is running...
2016/04/10 13:04:18 [asm_amd64.s:1998][I] http server Running on :8080
『捌』 Go語言做Web應用開發的框架,哪一個更適合入門
可以先直接使用go自帶的http server 框架,這個框架涵蓋了絕大多數的功能,比如request response 的基本封裝,簡單的路由管理,文件上傳處理。
如果發現Go 自帶的框架解決不了問題,可以引入相應的第三方組件,比如ORM可以採用中國人寫的gorm 比如web 的session 管理可以使用gorilla/session
當然你也可以直接上大一統的框架比如你提到的beego 還有大名鼎鼎的martini 。不過不推薦,因為這樣的大框架和Go 語言本身的模塊設計有沖突。
實際開發建議用vscode 加Go 插件來做IDE,基本包含了其他成熟IDE的所有功能,而且還自帶強大的debug 功能。其他IDE debug 用起來非常麻煩比如idea 和liteIDE。題主也可以自己試下。
『玖』 《GoWeb編程》epub下載在線閱讀全文,求百度網盤雲資源
《GoWeb編程》(謝孟軍)電子書網盤下載免費在線閱讀
鏈接:
書名:GoWeb編程
豆瓣評分:7.6
作者:謝孟軍
出版社:電子工業出版社
出版年:2013-6-1
頁數:329
內容簡介
《Go Web編程》介紹如何用Go語言進行Web應用的開發,將Go語言的特性與Web開發實戰組合到一起,幫讀者成功地構建跨平台的應用程序,節省Go語言開發Web的寶貴時間。有了這些針對真實問題的解決方案放在手邊,大多數編程難題都會迎刃而解。
在《Go Web編程》中,讀者可以更加方便地找到各種編程問題的解決方案,內容涵蓋文本處理、表單處理、Session管理、資料庫交互、加/解密、國際化和標准化,以及程序的部署維護等運維方面的知識,最後還介紹了一個快速開發的框架幫助您迅速進入Go語言的Web開發。
作者簡介
謝孟軍,網名ASTA謝,現就職於盛大雲,高級研究員,技術經理,主要從事盛大雲分發的系統研發工作,努力為盛大游戲、盛大文學、酷六等提供更好的CDN服務。熱愛技術,尤其關注實現伺服器端高性能、高可用等相關技術。開發了beego、beedb等各類基於Go語言的開源框架和庫,致力於Go語言的推廣和研究。
『拾』 go 語言寫web誰能教教我嗎
語言只是工具而已,有的適合做哪一方面。 一般來說高級語言除了寫底層的東西,什麼都能做。 go語言聽說過但不了解 我想應該像python ruby一樣吧 拿python來說,可以寫web,可以寫socket,資料庫,game,圖形界面,你去看看他能做什麼在右邊..