框架提供了默认的错误码组件gcode
,错误码使用接口化设计,以实现高扩展性。
// Code is universal error code interface definition.
type Code interface {
// Code returns the integer number of current error code.
Code() int
// Message returns the brief message for current error code.
Message() string
// Detail returns the detailed information of current error code,
// which is mainly designed as an extension field for error code.
Detail() interface{}
}
框架提供了默认实现gcode.Code
的结构体,开发者可以直接通过New/WithCode
方法创建错误码:
// New creates and returns an error code.
// Note that it returns an interface object of Code.
func New(code int, message string, detail interface{}) Code
func ExampleNew() {
c := gcode.New(1, "custom error", "detailed description")
fmt.Println(c.Code())
fmt.Println(c.Message())
fmt.Println(c.Detail())
// Output:
// 1
// custom error
// detailed description
}
如果开发者觉得框架默认实现gcode.Code
的结构体不满足需求,可以自行定义,只需实现gcode.Code
即可。
gvalid校验组件支持强大的递归校验特性。如果给定的校验数据中的属性或者键值为struct/map/slice类型时,将会被自动执行...
一、OpenTelemetry分布式链路跟踪(DistributedTracing)的概念最早是由Google提出来的,发展至今技术已经比较成熟,也...
一、基本介绍我们都知道,开发业务项目离不开数据库操作组件的使用,数据库是绝大部分业务项目的核心,这也是"CRUD工程师"戏称的...
基本介绍数组容器,提供普通数组,及排序数组,支持数据项唯一性矫正,支持并发安全开关控制。使用场景:数组操作。使用方式:im...
基础使用package mainimport ("fmt""github.com/gogf/gf/v2/container/glist")func main() {// Not concurrent-safe in default....
基本使用package mainimport ("fmt""github.com/gogf/gf/v2/container/gtree""github.com/gogf/gf/v2/util/gutil")func main() {...
时间对象创建gtime.Time对象可以通过标准库time.Time对象、Unix时间戳、时间字符串(如:2018-07-1812:01:00)...
现在让我们进入交互式 Python 命令行,尝试一下 Django 为你创建的各种 API。通过以下命令打开 Python 命令行:... py manage.py...