由于本人之前一直是Java Coder,在Java web开发中其实大家都很依赖框架,所以当在学习Golang的时候,自己便想着在Go开发中脱离框架,自己动手造框架来练习。通过学习借鉴Java的思想还有部分框架的源码,在golang上面进行实现,从而达到对Java和Golang的同时学习目的,这就很美滋滋了。    Golang中http的设计非常轻量,又兼具很高的扩展性,初学者都可以轻易            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-14 18:18:24
                            
                                137阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言测试分为:压力测试、负载测试、性能测试,功能测试等等,其中在开发过程中开发人员经常要写一些test case unit 自己的模块进行功能测试测和性能。在分析出模块的性能瓶颈后开发人员就需要针对性的调优,但需要提醒的是调优工程一般要放在最后在进行,过早地优化会浪费开发时间,而且有时在需求或者功能变动后就会变成无用功,这是显而易见的。 随着移动互联网的兴起,各种远端服务的性能遇到巨大的挑战,虽然            
                
         
            
            
            
            groupcache
一句话描述groupcache 是一个分布式缓冲库简介groupcache是什么?
groupcache是一个分布式缓冲库是Server又是 Client与其他peer相连热点缓存副本Examplegit clone git@github.com:colinrs/groupcache-db-example.git
cd groupcache-db-example
make r            
                
         
            
            
            
            golang中的pprof的使用,graphviz一、关于pprof包go中有pprof包来做代码的性能监控,包括 cpu profile, mem profile, block profile,在两个地方有包:net/http/pprof
runtime/pprof其实net/http/pprof中只是使用runtime/pprof包来进行封装了一下,并在http端口上暴露出来。二者的区别在于:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-23 13:45:50
                            
                                59阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            摘要在上一篇文章中,我们聊了聊在Golang中怎么实现一个Http服务器。但是在最后我们可以发现,固然DefaultServeMux可以做路由分发的功能,但是他的功能同样是不完善的。由DefaultServeMux做路由分发,是不能实现RESTful风格的API的,我们没有办法定义请求所需的方法,也没有办法在API路径中query参数。其次,我们也希望可以让路由查找的效率更高。所以在这篇文章中            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-24 23:32:19
                            
                                20阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            gorilla/mux是 gorilla Web 开发工具包中的路由管理库。gorilla Web 开发包是 Go 语言中辅助开发 Web 服务器的工具包。它包括 Web 服务器开发的各个方面, 有表单数据处理包gorilla/schema, 有 websocket 通信包gorilla/webso            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-08-13 07:33:09
                            
                                164阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            代码实现 main.go package main import ( "fmt" "github.com/jihite/go-gin-example/pk            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-21 00:22:08
                            
                                104阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在前面已经学习了gin框架如何处理请求,解析请求,返回数据。在实际的项目当中,项目往往是以模块化来进行划分和开发的,所谓的模块化就是按照功能来划分,比如会有产品模块,会有用户模块,会将用户相关的进行统一的开发,放到用户模块当中,和产品相关的放在产品相关的模块当中,这样即方便开发者进行统一的开发也方便在系统的维护过程当中方便维护。背景在实际的项目开发中,均是模块化开发。同一模块内的功能接口,往往会有            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-05-13 00:10:35
                            
                                221阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            registerHandlers.gopackagerouterimport("../ctrl""../funcs""github.com/julienschmidt/httprouter""net/http")typemiddleWareHandlerstruct{r*httprouter.Router}funcNewMiddleWareHandler(r*httprouter.Router)h            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2019-07-07 17:05:30
                            
                                2371阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            golang学习笔记6 beego项目路由设置
路由包里面我们看到执行了路由注册 beego.Router, 这个函数的功能是映射 URL 到 controller,第一个参数是 URL (用户请求的地址),这里我们注册的是 /,也就是我们访问的不带任何参数的 URL,第二个参数是对应的 Controller,也就是我们即将把请求分发到那个控制器来执行相应的逻辑,我们可以执行类            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-19 16:18:49
                            
                                673阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            HTTP路由组件负责将HTTP请求交到对应的函数处理(或者是一个struct的方法),如前面小节所描述的结构图,路由在框架中相当于一个事件处理器,而这个事件包括:用户请求的路径(path)(例如:/user/123,/article/123),当然还有查询串信息(例如?id=11)	HTTP的请求方法(method)(GET、POST、PUT、DELETE、PATCH等)路由器就是根据用户请求的事件信息转发到相应的处理函数(控制层)。默认的路由实现func fooHandler(w htt            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-06-01 12:28:14
                            
                                555阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Golang【Web 入门】 07 路由 - http.ServeMux            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-03-24 19:04:16
                            
                                63阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            glog.SetDebug(false) // 关闭debug信息 s := g.Server() s.SetDumpRouterMap(false) // 关闭打印的路由列表 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-27 10:18:00
                            
                                405阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            活动话题:#yyds干货盘点#目录
前言正文
分组路由编码简单,结构清晰扩展方便,便于管理
结尾
前言Gin 是使用纯 Golang 语言实现的 HTTP Web 框架,Gin 的接口设计简洁,性能极高,现在被广泛使用。上一篇文章介绍了 Gin 的基本使用方式,今天我们详细看一看 Gin 在分组路由方面的内容。正文分组路由说到分组路由,你一定会问为什么要搞分组路由?分组路由有什么优势?下面就详细            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-11-23 23:15:35
                            
                                533阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            介绍 RESTful,我们知道 RESTful 是一种目前 API 开发中广泛...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-03-31 16:36:00
                            
                                167阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
              什么是路由设置呢?前面介绍的 MVC 结构执行时,介绍过 beego 存在三种方式的路由:固定路由、正则路由、自动路由,接下来详细的讲解如何使用这三种路由。  在介绍这三种 beego 的路由实现之前先介绍 RESTful,我们知道 RESTful 是一种目前 API 开发中广泛采用的形式,beego 默认就是支持这样的请求方法,也就是用户 Get 请求就执行 Get 方法,Post 请求就执            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-06-04 23:27:58
                            
                                1166阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录 GOLang开发环境搭建(Windows) 安装go 安装IDE: HelloWorld go 设置 GOROOT 和 GOPATH 设置变量: 遇见的错误 linux下安装go环境 Go基础编程:获取命令行参数 golang之net/http包简单...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-08-03 20:13:00
                            
                                304阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            数组:相同数据类型的一组数据的集合数组长度不能修改数组可以通过下标(索引)访问元素数组默认初始化为零值定义govarvariable_nameSIZEvariable_type示例gopackagemainimport"fmt"funcmain(){vararr12stringvararr23intfmt.Printf("arr1:%v\n",arr1)//arr1:fmt.Printf("arr            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                            精选
                                                        
                            2022-10-18 16:00:56
                            
                                2200阅读
                            
                                                                                    
                                9评论
                            
                                                 
                 
                
                             
         
            
            
            
            3.4、Golang函数Go语言函数特性1.函数分类:普通函数匿名函数方法2.函数不能重载,即不允许函数同名3.函数不能嵌套函数,但可以嵌套匿名函数4.函数可以赋值给变量5.函数可以作为参数传递给另一个函数6.函数的返回值可以是一个函数7.函数传参传递是参数的副本8.函数参数可以没有名称函数定义gofuncfunction_name(parameterlist)return_type{//函数体}            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-20 11:23:35
                            
                                401阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            3.5、Golang指针指针取地址:&取值:指针地址:每一个变量都有一个地址,地址代表变量在内存中的位置Go语言中的值类型(int、float、bool、string、array、struct)对应的指针类型(int、int64、string)指针变量定义语法go//指针变量名指针类型varvar_namevar_type示例gopackagemainimport"fmt"funcmain(){/            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-22 17:57:50
                            
                                702阅读