目录Go 箴言Go 之禅代码使用 go fmt 格式化多个 if 语句可以折叠成 switch用 chan struct{} 来传递信号, chan bool 表达的不够清楚30 * time.Second 比 time.Duration(30) * time.Second&nb ......
274
0
0
2023-06-21
目录一、介绍二、安装使用xorm,注意连接的关闭!关于连接数的坑以及engine.Close()常用方法介绍三、mysql生产struct四、xorm常用操作示例--insert数据4.1 insert 增加1条数据4.2 insert 增加多条数据4.3 insert 增加不同表数据五、xorm常用操作示例--删除某行5.1 通过id删除5.2 通过whe ......
303
0
0
2023-06-19
目录Java HttpClient 超时底层原理Go Context 简介Context 是什么Context 三个特性例子Go HttpClient 的另一种超时机制超时机制简介超时机制底层原理超时机制小结Java 能实现这种超时机制吗总结Java HttpClient 超时底层原理在介绍 Go 的 HttpClient 超时机制之前,我们先看看 Java ......
291
0
0
2023-06-18
目录1. 简介(Introduction)2. 建议(Advice)3. 发生在…之前(Happens Before)3.1 重排序3.2 happens-before3.3 规则4. 同步(Synchronization)4.1 初始化(Initialization)4.2 Go协程的创建(Goroutine creation)4.3 Go协程的销毁(Go ......
363
0
0
2023-06-15
目录一、前言二、实现栈与队列基本操作2.1 栈基本操作2.2 队列基本操作三、用栈实现队列3.1 理论3.2 算法题3.3 思路3.4 代码部分四、用队列实现栈4.1 理论4.2 算法题4.3 思路4.4 使用两个队列实现4.5 优化4.6 使用一个队列实现一、前言go语言中,并没有栈与队列相关的数据结构,但是我们可以借助切片来实现栈与队列的操作;接下来我们 ......
285
0
0
2023-06-15
目录一、连接1.1 下载依赖1.2 使用MySQL驱动1.3 初始化连接1.4 SetMaxOpenConns1.5 SetMaxIdleConns二、CRUD2.1 建库建表2.2 查询2.3 单行查询2.4 多行查询2.5 插入数据2.6 更新数据2.7 删除数据三、事务3.1 什么是事务3.2 事务的ACID3.3 事务相关方法3.4 事务示例一、连接 ......
258
0
0
2023-06-14
目录1.背景1.1. 项目介绍1.2.使用方法2.源码分析2.1.项目结构2.2.数据结构2.3.API代码流程3.总结1.背景1.1. 项目介绍golang/sync库拓展了官方自带的sync库,提供了errgroup、semaphore、singleflight及syncmap四个包,本次分析singlefliht的源代码。singlefliht用于解决 ......
274
0
0
2023-06-13
目录新建数据库config.gogameblog.gohttpSimplify server.gocomment.gogameblog.goserver.gopostman test apiAxiosgamelist.goHTTPgamelist.goserver.goAxios新建数据库 将部分数据存储至Mysql,使用axios通过golang ......
259
0
0
2023-06-11
目录引子运行命令显示输出显示到标准输出输出到文件发送到网络保存到内存对象中输出到多个目的地运行命令,获取输出分别获取标准输出和标准错误标准输入环境变量检查命令是否存在封装总结引子在工作中,我时不时地会需要在Go中调用外部命令。前段时间我做了一个工具,在钉钉群中添加了一个机器人,@这个机器人可以让它执行一些写好的脚本程序完成指定的任务。机器人倒是不难,照着钉钉 ......
266
0
0
2023-06-10
简介权限管理在几乎每个系统中都是必备的模块。如果项目开发每次都要实现一次权限管理,无疑会浪费开发时间,增加开发成本。因此,casbin库出现了。casbin是一个强大、高效的访问控制库。支持常用的多种访问控制模型,如ACL/RBAC/ABAC等。可以实现灵活的访问权限控制。同时,casbin支持多种编程语言,Go/Java/Node/PHP/Python/. ......
263
0
0
2023-06-09
目录Go语言内置的log包实现了简单的日志服务Logger标准logger的配置配置日志前缀(SetPrefix)配置日志输出位置创建新logger对象日志库级别runtime.Caller可变参数的日志实现往文件里面写日志日志切割(按文件大小切割、按日期切割)总结Go语言内置的log包实现了简单的日志服务log包定义了Logger类型,该类型提供了一些格式 ......
338
0
0
2023-06-08
目录引言csrf小档案一、CSRF及其实现原理CSRF攻击示例二、如何预防三、CSRF包的使用及实现原理csrf包的安装基本使用使用net/http包启动的服务echo框架下使用csrf包gin框架下使用csrf包beego框架下使用csrf包实现原理csrf结构体csrf包的工作流程为什么GET、HEAD、OPTIONS、TRACE的请求方法不需要toke ......
272
0
0
2023-06-07
目录引子思路实战节点通信主节点工作节点将它们放在一起代码效果总结引子如今很多云原生系统、分布式系统,例如 Kubernetes,都是用 Go 语言写的,这是因为 Go 语言天然支持异步编程,而且静态语言能保证应用系统的稳定性。笔者的开源项目 Crawlab 作为爬虫管理平台,也应用到了分布式系统。本篇文章将介绍如何用 Go 语言编写一个简单的分布式系统。思路 ......
311
0
0
2023-06-06
目录安装与简单测试常见请求与分组请求获取参数 与 参数合法性验证获得query中参数获得multipart/urlencoded form中的参数模型绑定和参数验证自定义参数验证项目结构参考Gin框架运行模式Gin如何获取客户ipGin处理请求结果以String类型响应请求以Json格式响应请求以文件形式响应请求设置http响应头Gin处理html模板Gin ......
328
0
0
2023-06-06
前言最近一直有小伙伴私信我学Go语言的问题:有的小伙伴觉得客户端太卷了,想转服务端,觉得 Java 也卷,想学Go语言;有的小伙伴是想从PHP或者Java转 Go ,做高并发编程,觉得Go更有前途。聊的多了,发现这是一个共性问题,所以干脆整理成文章,希望对更多的人有帮助。这篇文章会结合我的经历:聊聊我认为客户端转服务端开发最大的挑战是什么? 如何高效转型做服 ......
268
0
0
2023-06-06