Explorar el Código

refactor(controls): 简化泛型约束类型定义

- 移除 InfoStruct 和 InfosStruct 接口定义
- 将 ExtractInfo 泛型函数约束从 InfoStruct 改为 any
- 将 ExtractInfoFormInfos 泛型函数约束从 InfosStruct 改为 any
- 将 ExtractInfos 泛型函数约束从 InfosStruct 改为 any
- 保持原有功能不变,仅简化类型约束提高代码简洁性
wangbo hace 5 días
padre
commit
770a6bf987
Se han modificado 1 ficheros con 3 adiciones y 11 borrados
  1. 3 11
      controls/controls.go

+ 3 - 11
controls/controls.go

@@ -5,15 +5,7 @@ import (
 	"git.sxidc.com/go-tools/utils/strutils"
 )
 
-type InfoStruct interface {
-	BankInfo
-}
-
-type InfosStruct interface {
-	ProjectInfo | DeptInfo | IDName | SubjectIDName
-}
-
-func ExtractInfo[T InfoStruct](infoStr string) (*T, error) {
+func ExtractInfo[T any](infoStr string) (*T, error) {
 	info := new(T)
 	if strutils.IsStringEmpty(infoStr) {
 		return info, nil
@@ -26,7 +18,7 @@ func ExtractInfo[T InfoStruct](infoStr string) (*T, error) {
 	return info, nil
 }
 
-func ExtractInfoFormInfos[T InfosStruct](infosStr string) (*T, error) {
+func ExtractInfoFormInfos[T any](infosStr string) (*T, error) {
 	infos, err := ExtractInfos[T](infosStr)
 	if err != nil {
 		return nil, err
@@ -40,7 +32,7 @@ func ExtractInfoFormInfos[T InfosStruct](infosStr string) (*T, error) {
 	return &infos[0], nil
 }
 
-func ExtractInfos[T InfosStruct](infosStr string) ([]T, error) {
+func ExtractInfos[T any](infosStr string) ([]T, error) {
 	infos := make([]T, 0)
 	if strutils.IsStringEmpty(infosStr) {
 		return infos, nil