随心的博客

好记性不如个烂笔头,随心记录!

返回顶部

随笔分类 -  后端开发

后端开发 PHP Golang Java Python
摘要:前言: Context 对象提供了很多内置的响应形式,JSON、HTML、Protobuf 、MsgPack、Yaml 、 String等。它会为每一种形式都单独定制一个渲染器。 Context是Gin最重要的部分。它允许我们在中间件之间 传递变量,管理流程,验证请求的JSON 并 呈现JSON响应 阅读全文
posted @ 2023-04-10 21:29 yangphp 阅读(59) 评论(0) 推荐(0) 编辑
摘要:前言: 中间件 middleware,也是一种处理器。主要用于在多个业务逻辑中间重用代码,例如认证校验,日志处理等。 中间件需要附加在路由上,使用 router.Use() 方法 正文: gin.Default() 初始化路由对象时,会随之附加两个中间件 Logger 和 Recovery gin. 阅读全文
posted @ 2023-04-10 21:25 yangphp 阅读(55) 评论(0) 推荐(0) 编辑
摘要:随心记录,内容仅供参考! 2023/04/09 gin框架介绍及安装 2023/04/09 gin框架路由router 2023/04/10 gin框架中间件 2023/04/10 Context响应,重定向,自定义函数,Abort 2023/04/12 go验证码的使用 2023/04/12 go 阅读全文
posted @ 2023-04-09 22:13 yangphp 阅读(142) 评论(0) 推荐(0) 编辑
摘要:前言: gin框架中采用的路由库是基于httprouter做的 正文: 需要安装postman 发送请求 各种请求方法: GET(string, ...HandlerFunc) POST(string, ...HandlerFunc) DELETE(string, ...HandlerFunc) P 阅读全文
posted @ 2023-04-09 22:09 yangphp 阅读(272) 评论(0) 推荐(0) 编辑
摘要:前言: Gin 是一个用 Go (Golang) 编写的 web 框架。封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点,它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 httprouter,速度提高了近 40 倍。 借助框架开发,不仅可以省去很多常用 阅读全文
posted @ 2023-04-09 22:03 yangphp 阅读(288) 评论(0) 推荐(0) 编辑
摘要:先下载包: go get github.com/bradfitz/gomemcache/memcache window下打开memcache服务: cd C:\Program Files\memcached memcached.exe start 再打开一个cmd窗口 连接memcached tel 阅读全文
posted @ 2023-04-08 22:29 yangphp 阅读(48) 评论(0) 推荐(0) 编辑
摘要:前言: 使用第三方开源的redis库: github.com/gomodule/redigo/redis 需要先安装redis包 go get github.com/gomodule/redigo/redis 正文: window下打开redis服务: 打开cmd命令行窗口 cd C:\Progra 阅读全文
posted @ 2023-04-08 22:28 yangphp 阅读(101) 评论(0) 推荐(0) 编辑
摘要:数据库连接: 使用database/sql包时必须注入(至少)一个数据库驱动。 go get github.com/go-sql-driver/mysql 导入包: import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) 通过Init 阅读全文
posted @ 2023-04-08 22:27 yangphp 阅读(46) 评论(0) 推荐(0) 编辑
摘要:前言: 如果两个或者多个 goroutine ,访问某个共享的资源,比如同时对该资源进行读写时,就会处于相互竞争的状态,这就是并发中的资源竞争。 一个工具帮助我们检查是否存在共享资源竞争的问题 go build -race 正文: go语言中多个协程操作一个变量时会出现冲突的问题,这种情况会发生竞态 阅读全文
posted @ 2023-04-07 22:50 yangphp 阅读(38) 评论(0) 推荐(0) 编辑
摘要:前言: 协程的创建和使用,Go语言中使用goroutine非常简单, 只需要在调用函数的时候在前面加上go关键字,就可以为一个函数创建一个goroutine。 正文: 函数创建goroutine语法: go 函数名( 参数列表 ) 函数名:要调用的函数名。 参数列表:调用函数需要传入的参数。 gor 阅读全文
posted @ 2023-04-07 22:45 yangphp 阅读(106) 评论(0) 推荐(0) 编辑
摘要:前言: 进程,线程,协程,并发,并行介绍 正文: 线程,进程介绍: 1. 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位; 2. 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线 3. 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间 4. 调度和切换:线 阅读全文
posted @ 2023-04-07 22:42 yangphp 阅读(24) 评论(0) 推荐(0) 编辑
摘要:前言: 在一些前后端不分离的Web架构中,我们通常需要在后端将一些数据渲染到HTML文档中,从而实现动态的网页(网页的布局和样式大致一样,但展示的内容并不一样)效果。 正文: 模板文件通常定义为.tmpl和.tpl为后缀(也可以使用其他的后缀.html,.htm) 模板文件中使用{{和}}包裹和标识 阅读全文
posted @ 2023-04-06 22:08 yangphp 阅读(129) 评论(0) 推荐(0) 编辑
摘要:前言: HTTP 协议是无状态的,所以用户的每一次请求都是无状态的, 不知道在整个 Web 操作过程中哪些连接与该用户有关。 应该如何来解决这个问题呢? Web 里面经典的解决方案是 Cookie 和 Session。 正文: cookie 机制是一种客户端机制,把用户数据保存在客户端, 而 Ses 阅读全文
posted @ 2023-04-06 22:02 yangphp 阅读(28) 评论(0) 推荐(0) 编辑
摘要:前言: 接口只有方法,并且方法里没有方法体,没有变量 接口中每个方法都要被一个类型实现,那么该类型就实现了该接口 接口定义了某个类型(对象)必须具备的功能,接口里面的方法是该类型最基本的功能,所以需要都实现。 那么实现接口后,直接实例化对象调用接口即可。 正文: 接口命名: 接口类型名,命名时一般在 阅读全文
posted @ 2023-04-05 21:56 yangphp 阅读(47) 评论(0) 推荐(0) 编辑
摘要:数组定义: 固定长度,只能有一种数据类型 数组必须指定长度,或使用...通过编译器自动识别长度 数组定义形式: 1、 var users [3]string users = [3]string{"liudehua", "guofucheng", "liming"} 2、 var users = [3 阅读全文
posted @ 2023-04-05 21:55 yangphp 阅读(30) 评论(0) 推荐(0) 编辑
摘要:定义时间模板: const TimeTem = "2006-01-02 15:04:05" //Format里必须用“2006-01-02 15:04:05” 表示24小时时间制显示时间 //Format里必须用“2006-01-02 03:04:05” 表示12小时时间制显示时间 //打印当前时间 阅读全文
posted @ 2023-04-05 21:53 yangphp 阅读(16) 评论(0) 推荐(0) 编辑
摘要:前言: 包是多个 Go 源码的集合,是一种高级的代码复用方案。 Go语言中为我们提供了很多内置包,如 fmt、os、io,strconv,strings 等 Go 语言的入口 main() 函数所在的包(package)叫 main。 main 包想要引用别的代码,必须同样以包的方式进行引用。 go 阅读全文
posted @ 2023-04-03 22:25 yangphp 阅读(276) 评论(0) 推荐(0) 编辑
摘要:前言: 结构体是go中对象操作中用的最多的类型。 json是作为数据交换最方便的类型 两个类型怎么做转换呢? 正文: 结构体的命名和成员命名必须遵循第一个字母大写,否则json库将结构体或成员作为私有的,进行忽略 json库文档: https://go-zh.org/pkg/encoding/jso 阅读全文
posted @ 2023-04-03 22:25 yangphp 阅读(642) 评论(0) 推荐(0) 编辑
摘要:前言: Go 语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。 通过结构体的方式来实现了面向对象 ,去除了传统的oop语法,继承,重载,构造,析构,隐藏this的特性, 仍然有面向对象三大特性,实现和面向对象方法有所不同,没有extends关键字 , 结构体的内嵌配合接口比面向对象具有 阅读全文
posted @ 2023-04-02 21:20 yangphp 阅读(103) 评论(0) 推荐(0) 编辑
摘要:前言: defer 语句会将其后面跟随的语句进行延迟处理, 在return前,将延迟处理的语句按 defer 的逆序进行执行 正文: defer 实例1: fmt.Println("hello") defer fmt.Println("a") defer fmt.Println("b") defer 阅读全文
posted @ 2023-04-02 21:18 yangphp 阅读(35) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示