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
是用来更新局部。框架
不在乎返回内容。做用:在不得到资源的状况下,了解资源的信息。好比是否修改过?文件大小如何?文件是否存在?
它的位置在响应头里。