GoFrame 教程
GoFrame 数据校验-单数据校验
我们可以将给定的变量当做一个完整的参数进行校验,即单数据校验。如果变量是Struct/Map复杂类型,我们需要校验其内部的属性/键值对的场景,将会在后续章节介绍。单数据校验必须…
GoFrame Struct校验-基本使用
Struct校验常使用以下链式操作方式: g.Validator().Data(object).Run(ctx) gvalid tag规则介绍 在开始介绍Struc…
GoFrame Struct校验-Assoc关联
为了避免结构体默认值带来的困惑,从goframe v2.0版本开始,我们增加了一个Assoc方法,用于结构体校验时严格按照给定的参数而不是按照结构体的属性值,而校…
GoFrame Map校验-基本使用
默认错误提示 package main import ( “github.com/gogf/gf/v2/frame/g” “github.com/gogf/gf/v2/os/gct…
GoFrame 数据校验-可选校验
可选校验规则 当给定的数据校验规则中不包含required*规则时,表示该规则不是一个必须规则。如果当给定的值为nil或者空字符串时,将会忽略其校验。 示例1,空字符串 p…
GoFrame 数据校验-递归校验
gvalid校验组件支持强大的递归校验特性。如果给定的校验数据中的属性或者键值为struct/map/slice类型时,将会被自动执行递归校验。我们来看两个示例: 示例1,…
GoFrame 自定义规则-规则注册
虽然gvalid已经内置了常见的数十种校验规则,但是在部分业务场景下我们需要自定义校验规则,特别是一些可以重复使用的业务相关的校验规则。当然,gvalid如此的强大和贴心,…
GoFrame 自定义规则-完整数据校验
基本介绍 大家也许已经注意到,当我们给定一个struct时,我们的规则只能对其中的键值或者属性进行校验,如果我们想要通过规则完整校验struct这个对象时,居然无法注册校验…
GoFrame 数据校验-方法介绍
以下常用方法列表,文档更新可能滞后于代码新特性,更多的方法及示例请参考代码文档:https://pkg.go.dev/github.com/gogf/gf/v2/util/gval…
GoFrame 数据校验-FAQ
Struct默认值对required规则的影响 Struct的属性会有默认值,在某些情况下会引起required规则的失效。例如: type User struct { N…
GoFrame 类型转换-基本介绍
GoFrame框架提供了非常强大易用的类型转换包gconv,可以实现将常用数据类型转换为指定的数据类型,对常用基本数据类型之间的无缝转换,同时也支持任意类型到struct…
GoFrame 类型转换-基本类型
常用基本类型的转换方法比较简单,我们这里使用一个例子来演示转换方法的使用及效果。 基本示例 更多的类型转换方法请参考接口文档:https://pkg.go.dev/github.c…
GoFrame 类型转换-Struct转换
项目中我们经常会遇到大量struct的使用,以及各种数据类型到struct的转换/赋值(特别是json/xml/各种协议编码转换)。为提高编码及项目维护效率,gcon…
GoFrame 类型转换-Structs转换
基本介绍 我们之前提到可以使用Struct方法实现对struct对象的转换,那么我们当然也可以实现对struct数组的转换,struct数组转换使用的是Struc…
GoFrame 类型转换-Scan转换
前面关于复杂类型的转换功能如果大家觉得还不够的话,那么您可以了解下Scan转换方法,该方法可以实现对任意参数到struct/struct数组/map/map数组的转换,…
GoFrame 类型转换-UnmarshalValue
当然,想必您已经猜到了,在对一些复杂类型(如struct)的转换时,gconv模块内部其实使用了反射的特性来实现的。这虽然为开发者提供了极大的便捷,但是这确实是以性能损耗为…
GoFrame 缓存管理-基本介绍
基本介绍 gcache是提供统一的缓存管理模块,提供了开发者可自定义灵活接入的缓存适配接口,并默认提供了高速内存缓存适配实现。 使用方式: import “github.com…
GoFrame 缓存管理-接口化设计
缓存组件采用了接口化设计,提供了Adapter接口,任何实现了Adapter接口的对象均可注册到缓存管理对象中,使得开发者可以对缓存管理对象进行灵活的自定义实现和扩展。 接…
GoFrame 缓存管理-内存缓存
缓存组件默认提供了一个高速的内存缓存,操作效率非常高效,CPU性能损耗在ns纳秒级别。 使用示例 基本使用 package main import ( “fmt” “git…
GoFrame 缓存管理-Redis缓存
基本介绍 缓存组件同时提供了gcache的Redis缓存适配实现。Redis缓存在多节点保证缓存的数据一致性时非常有用,特别是Session共享、数据库查询缓存等场…