GoFrame 新版本特性 抢先知

简介: 下面我就以GoFrame活跃粉丝的身份为大家剧透一下GoFrame新版本的特性。

重要的新特性


  1. 开发工具新增 gen service 命令,支持自动化地根据 logic 层级代码,生成 service 接口代码、实现注入。


  1. 数据库组件特性:


  1. 新增 WhereBuilder 特性,用于更加灵活的 SQL 条件语句组合:ORM 查询 - Where/WhereOr/WhereNot
  2. 新增 Hook 特性,用于自定义钩子事件处理:ORM 链式操作 - Hook 特性


3.框架新增 DeepCopy 特性,用于类型的深度拷贝:


  1. 新增 gutil.Copy 方法,用于深度拷贝指定内容。
  2. 泛型类型新增 Copy 方法,用于深度拷贝自身内容。
  3. 框架部分数据类型已支持深度拷贝特性,例如:gvar, garray, gmap 等基础容器类型。


主要改进


社区组件


ORM 驱动实现


  1. 新增 drivers/clickhouse,用于对接 clickhousegoframe ORM 组件。
  2. 完善 clickhouse/mssql/pgsql/sqlite/oracle 组件单元测试。
  3. mysql 驱动从主库迁移到社区模块,便于将 mysql 从主库解耦。


注意:因此从后续版本开始,开发者需要手动引入驱动依赖。


注册发现


  1. Service 实现对象改进为接口定义,并提供默认的 Service 实现,提高扩展性和易用性。
  2. 改进 HTTP/GRPC Client&Server 对接实现。


负载均衡


  1. 改进 Node 接口定义,新增 Nodes 接口定义。
  2. 修复 HTTP Client 下的服务发现负载均衡问题。


网络组件


  1. gclient
  1. 改进服务发现实现逻辑。
  2. 修复客户端关闭错误,引起的连接池无法复用问题。
  1. ghttp
  1. 改进 Request.GetUrl 方法对 URL Schema 获取细节。
  2. 参数接收支持 UploadFile 属性自动接收。
  3. 新增接口文档自定义 UI 指导文档
  4. 接口文档默认依赖的外部 JS CDN 改为 unpkg.com
  5. 改进服务注册实现逻辑。
  6. 改进内部细节实现逻辑。
  7. 修复参数为空判断问题。
  1. goai
  1. 改进更规范化符合 OpenAPIV3 协议实现。
  2. 支持所有 x- 开头的自定义标签,自动添加 OpenAPIV3 的结果中。


系统组件


  1. gcfg
  1. 默认的文件系统接口实现新增对 property 文件格式的支持。
  1. gsession
  1. 解决当访问用户过多造成的内存占用过大的问题。
  1. gproc
  1. 新增跨进程的链路跟踪特性。


容器组件


  1. garray
  1. 改进 Unique 方法性能,增加 DeepCopy 接口实现。
  1. glist
  1. 增加 DeepCopy 接口实现。
  1. gmap
  1. 增加 DeepCopy 接口实现。
  1. gset
  1. 增加 DeepCopy 接口实现。
  1. gtype
  1. 增加 DeepCopy 接口实现。
  1. gvar
  1. 增加 Copy 方法,用于深度拷贝当前泛型对象。
  2. 增加 DeepCopy 接口实现。


错误处理


  1. gerror
  1. 新增 Unwrap 方法(同 Next 方法),用以支持 Golang 新版本的 Unwrap 错误接口。
  2. 新增 Equal 方法,用于判断两个错误是否相等。
  3. 新增 Is 方法,用于支持 Golang 新版本的 Is 错误接口。


工具方法


  1. gconv
  1. 去掉整型转换时对八进制字符串的支持。
  2. 改进内部实现逻辑,提高可读性保障可维护性。
  1. gutil
  1. 新增 gutil.Copy 方法,用于深度拷贝指定内容。
  2. 改进 gutil.Dump 方法。
相关文章
|
Java BI Scala
6款实用开源报表工具
大数据时代,从海量数据中挖掘出有用的数据,并以较人性化、直观的方式展示这些数据,变得尤为重要。今天小编为大家介绍6款实用的开源报表工具,你可以使用这些工具做出高效,且符合企业需求的报表。
33764 0
|
Prometheus 监控 Cloud Native
Prometheus配置docker采集器
本文介绍了如何使用 Prometheus 监控 Docker 容器,涵盖环境准备、配置文件编写及服务启动等步骤。首先确保安装 Docker 和 Docker Compose,接着通过 `docker-compose.yml` 配置 Prometheus 和示例应用。创建 `prometheus.yml` 指定数据采集目标,最后用 `docker-compose up -d` 启动服务。文章还展示了甘特图和类图,帮助理解服务状态与关系,助力提升系统可靠性和可维护性。
601 11
|
人工智能 供应链 安全
面向高效大模型推理的软硬协同加速技术 多元化 AI 硬件引入评测体系
本文介绍了AI硬件评测体系的三大核心方面:统一评测标准、平台化与工具化、多维度数据消费链路。通过标准化评测流程,涵盖硬件性能、模型推理和训练性能,确保评测结果客观透明。平台化实现资源管理与任务调度,支持大规模周期性评测;工具化则应对紧急场景,快速适配并生成报告。最后,多维度数据消费链路将评测数据结构化保存,服务于综合通用、特定业务及专业性能分析等场景,帮助用户更好地理解和使用AI硬件。
|
Kubernetes 监控 Cloud Native
关于容器服务 Kubernetes 版 ACK的介绍
【4月更文挑战第8天】容器服务 Kubernetes 版 ACK
1387 0
关于容器服务 Kubernetes 版 ACK的介绍
|
机器学习/深度学习 人工智能 算法
深度学习之材料性能预测
基于深度学习的材料性能预测是材料科学领域的一个前沿研究方向,它结合了人工智能和材料学,通过分析和建模复杂的材料数据,来预测材料的性能和特性。
893 4
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
478 2
|
弹性计算 数据中心
阿里云香港服务器多少钱?阿里云香港服务器介绍及价格配置介绍
阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量。阿里云百科来详细介绍阿里云香港云服务器:
1737 1
|
前端开发 API 计算机视觉
opencv绘制基本图形,在图片上添加文字
opencv绘制基本图形,在图片上添加文字
446 1
|
安全 数据处理 C++
LabVIEW调用外部DLL(动态链接库)
LabVIEW调用外部DLL(动态链接库)
362 0
|
Kubernetes 调度 容器
ACK(Alibaba Cloud Kubernetes Engine
ACK(Alibaba Cloud Kubernetes Engine)是阿里巴巴云推出的一款基于Kubernetes的容器编排平台。在ACK中,Capacity Scheduling是一种调度策略,用于在集群中分配资源,以确保高可用性和资源利用率。
361 1