Go单元测试—网络测试 在实际中我们遇到的场景往往会比较复杂,无论我们的代码是作为server端对外提供服务或者还是我们依赖别人提供的网络服务(调用别人提供的API接口)的场景,我们通常都不想在测试过程中真正的建立网络连接。接下来就专门介绍如何在上述两种场景下mock网络测试。 httptest 在Web开发场景下的单元测试,如果涉及到HTTP请求推荐大家使用Go标准库 net/http/httptest 进行测试,能够 2024-04-15 开发 #Go
Go单元测试基础 Go语言测试 go test工具 Go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程是类似的,并不需要学习新的语法、规则或工具。 go test命令是一个按照一定约定和组织的测试代码的驱动程序。在包目录内,所有以_test.go为后缀名的源代码文件都是go test测试的一部分,不会被go build编译到最终的可执行文件中。 在*_test.go文件中有三种类型的函数, 2024-04-12 开发 #Go
Inaccurate Subsequence Search 题目连接: Problem - D - Codeforces 题目描述 Maxim 有一个由 nnn 个整数组成的数组 aaa 和一个由 mmm 个整数组成的数组 bbb ( m≤nm \le nm≤n )。 如果数组 ccc 中的元素可以重新排列,使得其中至少有 kkk 个元素与数组 bbb 中的元素匹配,那么马克西姆认为长度为 mmm 的数组 ccc 是好数组。 例如,如果 b=[1,2,3 2024-04-11 算法 #题解
Unfair Game 题目连接: Problem - F - Codeforces 题目描述 爱丽丝和鲍勃在傍晚时分聚集在一起,就一个由 nnn 个整数组成的数列玩了一个刺激的游戏,数列中的每个整数都不超过 4。游戏规则太复杂,无法描述,所以我们只描述获胜条件——如果序列中所有数字的比特XOR都非零,则爱丽丝获胜;否则,鲍勃获胜。 他们邀请夏娃担任裁判。一开始,爱丽丝和鲍勃用 nnn 个数字进行游戏。一局游戏结束后, 2024-04-09 算法 #题解
在gin框架中使用JWT JWT全称JSON Web Token是一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token实现方式,目前多用于前后端分离项目和OAuth2.0业务场景下。 什么是JWT? JWT全称JSON Web Token是一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token 实现方式,目前多用于前后端分离项目和 OAuth2.0 业务场景下。 为什么需要JWT? 在之前的一些web 2024-04-07 开发 #技术
GORM入门指南 gorm是一个使用Go语言编写的ORM框架。它文档齐全,对开发者友好,支持主流数据库。 官方中文文档:https://gorm.io/zh_CN/ gorm介绍 中文官方网站内含十分齐全的中文文档,有了它你甚至不需要再继续向下阅读本文。 安装 1go get -u github.com/jinzhu/gorm 连接数据库 连接不同的数据库都需要导入对应数据的驱动程序,GORM已经贴心的为我们包装了 2024-04-05 开发 #Go
Gin框架介绍及使用 Gin框架安装与使用 安装 下载并安装gin: 1go get -u [github.com/gin-gonic/gin](http://github.com/gin-gonic/gin) 第一个gin示例: 123456789101112131415161718package mainimport ( "github.com/gin-gonic/gin")func ma 2024-04-01 开发 #Go
Incinerate 题目连接: Problem - B - Codeforces 题目描述 为了毁灭人类,怪物协会向地球表面派出了 nnn 只怪物。第 iii 只怪物拥有 hih_ihi 的健康和 pip_ipi 的力量。 杰诺斯的最后一击是 “真螺旋焚化炮”,它可以对所有活着的怪物造成 kkk 的伤害。换句话说,杰诺斯一次攻击就能使所有怪物的生命值降低 kkk (如果 k>0k > 0k>0 2024-03-31 算法 #题解
Go语言并发 基本概念 串行、并发与并行 串行:依次执行多个任务。 并行:同一时刻执行多个任务。 并发:同一时间段内执行多个任务。 进程、线程和协程 进程(process):程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。 线程(thread):操作系统基于进程开启的轻量级进程,是操作系统调度执行的最小单位。 协程(coroutine):非操作系统提供而是由用户自行创建和控制的用户态”线程 2024-03-30 开发 #Go
Go语言实战数据库 连接数据库 下载依赖 1go get -u github.com/go-sql-driver/mysql 导入数据驱动 12345import ( "database/sql" _ "github.com/go-sql-driver/mysql") _ "github.com/go-sql-driver/mysql" 的作用是 2024-03-23 开发 #Go