![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go语言
文章平均质量分 68
乐观的阿锡
乐观的阿锡,学习永不止境
展开
-
golang面试常见问总结-大厂冲
字节1.go channel close后读的问题答 :golang channel关闭后,其中剩余的数据,是可以继续读取的,channel关闭之后,仍然可以从channel中读取剩余的数据,直到数据全部读取完成。对于一个关闭的channel,如果继续向channel发送数据,会引起panic,如果继续读数据,得到的是零值(对于int,就是0)。判断一个channel的方式有两种:value, ok := <- ch//ok是false,就表示已经关闭。for value := ra原创 2021-11-16 17:21:50 · 2242 阅读 · 3 评论 -
gin参数,校验validator库
包验证器包验证器基于标签为结构和单个字段实现值验证。它具有以下独特的功能:使用验证标签或自定义验证器进行跨字段和跨结构验证。切片、数组和映射潜水,允许验证多维字段的任何或所有级别。能够深入研究映射键和值以进行验证通过在验证之前确定它的基础类型来处理类型接口。处理自定义字段类型,例如 sql 驱动程序 Valuer 请参阅Valuer别名验证标签,允许将多个验证映射到单个标签,以便更轻松地定义结构上的验证提取自定义定义的字段名称,例如可以指定在验证时提取 JSON 名称并使其在结果 Fie原创 2021-08-23 11:27:34 · 4579 阅读 · 0 评论 -
使用Gin框架集成JWT,源码、详解、面试问题
使用Gin框架集成JWT,源码、详解、面试问题一、什么是JWTJson web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。二、JWT的组成1、JWT生原创 2021-08-23 10:39:02 · 1627 阅读 · 0 评论 -
golang 定义二维数组的长度
golang 定义二维数组的长度var memo [][]intfunc numTrees(n int) int{ memo = make([][]int,n+1) for i := range memo{ memo[i] = make([]int, n+1)}对于普通的二维数组var direction = [4][2]int{ {1, 0}, // 下 {-1, 0}, // 上 {0, 1}, // 右 {0, -1}, // 左 }//原创 2021-08-04 19:57:31 · 1650 阅读 · 0 评论 -
解决package xxx is not in GOROOT特别是自己写的包导入不成功时
解决package xxx is not in GOROOT配置国内镜像加载包的下载set env -w GOPROXY=https://goproxy.cn,direct第一步,在项目的当前目录里,执行命令:go mod init ,会在当前项目目录下自动创建go.mod文件。go mod init code code --项目名第二步,配置go build 一定选择 目录 Directory第三步 go run xx.go...原创 2021-08-03 19:56:20 · 8745 阅读 · 0 评论 -
db.CreateInBatches undefined (type *gorm.DB has no field or method CreateInBatches)
db.CreateInBatches undefined (type *gorm.DB has no field or method CreateInBatches)根据官方的代码测试批量插入数据出现以下问题package mainimport ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jinzhu/gorm")type Student struct { gorm.Model Username string `g原创 2021-07-31 19:00:23 · 1902 阅读 · 0 评论 -
个人博客gin 后端开发-接口备注ApiPost
/用户用户公共Header参数参数名示例值参数描述暂无参数公共Query参数参数名示例值参数描述暂无参数公共Body参数参数名示例值参数描述暂无参数预执行脚本暂无预执行脚本后执行脚本暂无后执行脚本/用户/编辑用户暂无描述接口状态开发中接口URL127.0.0.1:9000/api/v1/user/3请求方式PUTContent-Typejson请求Body参数{ "use原创 2021-07-10 19:28:17 · 539 阅读 · 3 评论 -
分糖果 力扣575
给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最多。示例 2 :输入: candies = [1,1,2,3]输出: 2解析: 妹妹获得糖果[2,3],弟弟获得糖果[原创 2021-07-06 19:17:02 · 75 阅读 · 0 评论 -
go学习之--通道
channel通道通道可以被认为是Goroutines通信的管道。类似于管道中的水从一端到另一端的流动,数据可以从一端发送到另一端,通过通道接收。在前面讲Go语言的并发时候,我们就说过,当多个Goroutine想实现共享数据的时候,虽然也提供了传统的同步机制,但是Go语言强烈建议的是使用Channel通道来实现Goroutines之间的通信。“不要通过共享内存来通信,而应该通过通信来共享内存” 这是一句风靡golang社区的经典语Go语言中,要传递某个数据给另一个goroutine(协程),可以把转载 2021-06-18 22:37:36 · 2049 阅读 · 0 评论