Golang介紹ios
Go語言是谷歌推出的一種全新的編程語言,能夠在不損失應用程序性能的狀況降低低代碼的複雜性。谷歌首席軟件工程師羅布派克(Rob Pike)說:咱們之因此開發Go,是由於過去10多年間軟件開發的難度使人沮喪。git
谷歌資深軟件工程師羅布·派克(Rob Pike)表示,「Go讓我體驗到了從未有過的開發效率。」派克表示,和今天的C++或C同樣,Go是一種系統語言。他解釋道,「使用它能夠進行快速開發,同時它仍是一個真正的編譯語言,咱們之因此如今將其開源,緣由是咱們認爲它已經很是有用和強大。」github
Golang語言的一些的功能:golang
具備現代的程序語言特點,如垃圾回收,幫助程序設計師處理瑣碎和重要的內存管理等問題。Go的速度也很是快,幾乎和C或C++程序同樣快,且可以快速製做程序。web
該軟件是專爲構建服務器軟件所設計(如Google的Gmail),Google認爲Go還可應用到其餘領域,包括在瀏覽器內執行軟件,取代JavaScript的角色。redis
Go也可解決現今的一大挑戰:多核心處理器。通常電腦程序一般依序執行,一次進行一項工做,但多核心處理器更適合並行處理許多工做。編程
相較於其餘語言,Golang之因此發展迅速,與該語言特有的特點密不可分:後端
簡潔 快速 安全api
並行 有趣 開源數組
內存管理,數組安全,編譯迅速
Iris簡介
Iris是一款Go語言中用來開發web應用的框架,該框架支持編寫一次並在任何地方以最小的機器功率運行,如Android、ios、Linux和Windows等。該框架只須要一個可執行的服務就能夠在平臺上運行了。
Iris框架以簡單而強大的api而被開發者所熟悉。iris除了爲開發者提供很是簡單的訪問方式外,還一樣支持MVC。另外,用iris構建微服務也很容易。
在iris框架的官方網站上,被稱爲速度最快的Go後端開發框架。在Iris的網站文檔上,列出了該框架具有的一些特色和框架特性,列舉以下:
1)聚焦高性能
2)健壯的靜態路由支持和通配符子域名支持
3)視圖系統支持超過5以上模板
4)支持定製事件的高可擴展性Websocket API
5)帶有GC, 內存 & redis 提供支持的會話
6)方便的中間件和插件
7)完整 REST API
8)能定製 HTTP 錯誤
9)源碼改變後自動加載
等等還有不少特性,你們能夠參考Iris官方文檔。在GoWeb開發的諸多框架中,各個維度的性能比較以下:
在學習Iris框架過程時,咱們須要有相應的配套資料纔可以完成咱們的學習。下面是學習Iris框架過程當中可能會用到的資料。
1) Iris官網:https://iris-go.com/
2) Iris框架源碼地址:https://github.com/kataras/iris
3) Iris框架中文學習文檔: https://studyiris.com/doc/
固然,還有其餘相關資料,好比說xorm框架等,這些咱們在後面的課程文檔中學習到之後再作解釋和說明。
Iris框架安裝
環境要求:iris框架要求golang版本至少爲1.8。各位同窗能夠經過打開終端,執行:go version 命令來查看本身機器的go環境版本。
安裝Iris框架很是簡單,使用go語言的全局安裝第三方代碼的命令get便可。安裝Iris框架的命令以下:
go get -u github.com/kataras/iris
複製代碼
在本地終端中執行如上的安裝命令,等待命令執行成功,即表示Iris源碼下載安裝完成。安裝完成Iris框架之後,可以在本地機器的GoPath環境目錄中的src/github.com/目錄下找到iris框架對應的包名,以下圖所示:
如圖所示的kataras/iris所在的目錄就是iris框架的源碼,如上圖所示便是安裝成功。
在iris源碼安裝完成之後,iris框架爲開發者提供了本身學習的實戰案例,供開發者自行學習。iris提供的案例在iris框架目錄中的_example目錄下,在學習時能夠進行參考。
接下來咱們就能夠開始學習iris的相關內容,進行代碼開發了。
Iris構造服務實例
在安裝完成Iris的源碼後,咱們就開始來編寫最簡單的一個Iris的服務。在Iris中,構建並運行一個服務實例須要兩步:
一、經過iris.New()方法能夠實例化一個應用服務對象app
二、經過Run方法開啓端口監聽服務,運行服務實例
以下是一個最簡單的服務案例Demo
package main
import "github.com/kataras/iris"
func main() {
//1.建立app結構體對象
app := iris.New()
//2.端口監聽
app.Run(iris.Addr(":7999"), iris.WithoutServerError(iris.ErrServerClosed))
////application.Run(iris.Addr(":8080"))//第一種
//application.Run(iris.Addr(":8080"), iris.WithoutServerError(iris.ErrServerClosed)) //第二種
}
複製代碼