
golang 学习教程
wanmei002
跟随自己的兴趣走吧
展开
-
go-zero 单体应用框架学习—4 监听端口
框架运行起来先说下思路:注册必要的中间件给每个路由处理函数用中间件处理给路由生成字典树开始监听端口启动入口入口函数 server.Start() ,实际上运行的是 Server.opts.start。在 go-zero/rest/engine.go 文件中的 bindRoute 方法, 这个里面注册了中间件,并对路由处理函数用中间件处理。中间件原理请看这篇文章 ```go func (c Chain) Then(h http.Handler) http.Handler {原创 2021-05-13 15:34:51 · 537 阅读 · 0 评论 -
go-zero 单体应用框架学习—3 路由生成字典树
找到实现 http.Handler 接口的结构体顺着入口函数 server.Start(),找到了 router.NewRouter() 创建的对象实现了 http.Handler 接口创建的对象为 router.patRouter 结构体的实例这个结构体有两个方法Handle 路由生成字典树ServeHTTP 方法实现了 http.Handler 接口,这个方法里有路由匹配,匹配失败的逻辑type patRouter struct { trees map[string]*sea原创 2021-05-13 14:23:23 · 623 阅读 · 0 评论 -
go-zero 单体应用框架学习—2 中间件的添加和原理
中间件的添加在 server.Server 结构体有个一方法 Use // Use adds the given middleware in the Server. func (e *Server) Use(middleware Middleware) { e.ngin.use(middleware) } type Middleware func(next http.HandlerFunc) http.HandlerFunc原创 2021-05-11 13:44:10 · 1881 阅读 · 2 评论 -
go-zero 单体应用框架原理学习—1 路由相关的存储
大纲路由和对应处理方法的存储找到路由匹配的方法(gin go-zero 都是生成字典树)找到实现 http.Handler 接口的结构体上面结构体实现 ServeHTTP 这个方法这个方法里面有路由的匹配,匹配到路由执行对应的方法中间件的添加中间件的运行这一节我们先看看 go-zero 路由是怎么存储的入口方法里有一个 handler.RegisterHandlers(server, ctx),这里面有对应的请求方法 路由 处理路由的方法的存储。存储的结构体为:type原创 2021-05-11 12:20:08 · 1362 阅读 · 2 评论 -
第五课 golang的流程控制
for 循环Loop: for i:=0; i< 10; i++ { for j:=0; j<10; j++ { if i == 5 { continue Loop } fmt.Println("i:",i, ";j:",j) } }switchi := 10 switch { case i==4: fmt.Println("4444") case i==5: fmt.Println("5555") default:原创 2021-04-24 11:46:07 · 68 阅读 · 0 评论 -
golang 第四课 结构体(struct)、interface{}、方法(func)详解
精讲了 golang 的方法 结构体(struct),接口(interface{}), 希望能帮助到你原创 2021-04-20 11:58:22 · 2237 阅读 · 0 评论 -
第一课 golang 的安装
golang 的安装安装包的下载官网包的下载地址https://golang.google.cn/dl/国内包的下载地址https://studygolang.com/dl国内下载地址比较快点配置环境PATH:GOPATH:GOROOT:原创 2021-04-12 19:55:46 · 169 阅读 · 0 评论 -
第三节课 运算、字符串连接、类型转换、断言
第三节数字运算/字符串的简单连接获取值类型的指针类型转换int() string() []byte() []rune()类型断言数据的底层原理原创 2021-04-16 18:39:59 · 113 阅读 · 0 评论 -
第二课 golang的常量、枚举、类型的讲解
本章主要讲解了 golang 的常量声明 枚举声明 值类型 和 引用类型的声明和赋值原创 2021-04-17 17:19:32 · 365 阅读 · 0 评论