泛型实战

此开源图书由ithaiqarrow-up-right原创,创作不易转载请注明出处

1. 打印字符串

func printStr[T any](str []T) {
	for _, v := range str {
		fmt.Println(v)
	}
}
var str = []string{"test1", "test2"}
var val = []int{1, 2}
printStr(str)                                 
printStr(val)  

2. 构造方法

type Model[T1 any, T2 any] struct {
	val T1
	str T2
}

//构造方法
func NewModel[T1 any, T2 any](val T1, str T2) *Model[T1, T2] {
	return &Model[T1, T2]{val: val, str: str}
}
fmt.Println(NewModel[int, string](12, "34").str)

3. 工厂模式

4. json反序列化

5. Gorm封装

最后更新于