From 0182cf60e1ea9be25a8fc25b971600a2f08b2ce1 Mon Sep 17 00:00:00 2001 From: shgopher Date: Tue, 30 Jan 2024 20:15:33 +0800 Subject: [PATCH] feat(basic): add ger --- .../\346\263\233\345\236\213/README.md" | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git "a/\345\237\272\347\241\200/\346\263\233\345\236\213/README.md" "b/\345\237\272\347\241\200/\346\263\233\345\236\213/README.md" index d3ce9de53..944613a0d 100644 --- "a/\345\237\272\347\241\200/\346\263\233\345\236\213/README.md" +++ "b/\345\237\272\347\241\200/\346\263\233\345\236\213/README.md" @@ -41,6 +41,7 @@ func Get[T Writer](v T) { v.hi() } ``` +### 泛型是类型,约束是类型的约束 请认识到,泛型是一种类型,约束是一种类型的约束,请不要把约束当作泛型。 ```go @@ -66,7 +67,7 @@ type st interface{ ~string | ~int } ``` - +### 约束的嵌套 约束跟接口是一样的也是可以嵌套的 ```go @@ -96,7 +97,7 @@ type NumericAbs[T any] interface { } ``` 上面的类型意思是满足数字类型,下面的意思是满足这个方法,所以最终实现这个约束的对象就是一个数字类型,并且实现了这个接口的 `Abs()T` 方法。 - +## 泛型 当结构体中使用泛型的时候,泛型不能直接作为嵌入使用 ```go type Lockable[T any] struct {