Go,天生高併發支持,語法簡潔,佔用內存和CPU資源小。因此,學它!! 本文會簡單講明幾個點,會採用對比的理解方法。但願對新入門的寶貝萌有所幫助。node
簡單構建一個main.go,執行 go run amin.go。git
注意事項:1.應用程序的執行入口是main()函數。 2. 嚴格區分大小寫。github
package main
import (
"fmt"
)
func main(){
fmt.Println("Hello World");
}
複製代碼
簡單熟悉main.go.下面的例子幫助你們更深一步瞭解。web
package main
import "fmt"
func main(){
var countryCapitalMap map[string]string
countryCaptialMap = make(map[string]string
countryCaptialMap["Paris"] ="巴黎"
countryCaptialMap["Japan"] = "日本"
countryCaptialMap["Italy"] = "意大利"
}
for country :=range countryCapitalMap{
fmt.Println(country,"首都是",countryCapitalMap[)
}
複製代碼
var countryCapitalMap map[string]string
聲明變量,至關於var,沒有分配空間。make[key]value
make的做用是分配空間。它有三種不一樣的用法。
- make(map[string]string)
- make([]int, 2)
- make([]int, 2, 4)
range
:Go語言中range(範圍)的關鍵字用於for循環中迭代數組(array),切片(slice),通道(channe)或集合(map)的元素。package main
import "github.com/gin-gonic/gin"
func main(){
engine := gin.Default()
engine.GET("/", func(context *gin.Context) {
context.String(http.StatusOK, "hello gin get method")
})
_ = engine.Run()
}
複製代碼
以上使用了一個很短的代碼實現了一個web服務。使用gin的Default方法建立一個路由。而後經過HTTP方法綁定路由規則和路由函數。不一樣於net/http庫的路由函數,gin進行了封裝,把request和response都封裝到gin.Context的上下文環境。下面是對代碼的詳解:express
"github.com/gin-gonic/gin"
: 第三方模塊不少都是github.com開頭的安裝命令:go get -u github.com/gin-gonic/ginapi
engine := gin.Default()
至關於const app=express() gin至關於expressengine.GET
:添加GET請求,第一個是路徑,第二個是context
:上下文訪問的一個環境,分析請求以及造成一個返回。它至關於koa的ctx,至關於express的req+res。本次實例是採用*gin.Context的一個指針類型。context.String
表明着res.String(),返回一個字符串。_ = engine.Run()
至關於node裏的listen ,默認端口爲8080。也能夠本身修改_ = engine.Run(":3000")。_
下劃線表示不處理,不管傳遞什麼都接受,萬能用法。engine.POST("/", func(context *gin.Context) {
context.String(http.StatusOK, "hello gin post method")
})
_ = engine.Run()
}
複製代碼
- /login POST 表示登陸
- /post/1234 GET 讀某篇文章 id爲1234
- /post POST 表示新增一篇文章
- /post GET 表示獲取文章列表
engine.PUT("/", func(context *gin.Context) {
context.String(http.StatusOK, "hello gin put method")
})
_ = engine.Run()
}
複製代碼
put動詞常常會和post混淆,put和post都是用來保存數據,可是put是修改數據。好比在庫裏添加一條信息數組
{username:'meimei',hobbies:['賺錢','花錢']}
複製代碼
如果用post就是新增一個原來沒有的數據,如果put,則表示修改,整個的替換。併發
就是表示刪除。例如:配合 /post/123 表示刪除某篇文章。app
是用來更新局部。框架
不在乎返回內容。做用:在不得到資源的狀況下,瞭解資源的信息。好比是否修改過?文件大小如何?文件是否存在?
它的位置在響應頭裏。