go泛型声明中的一个疑问
在go泛型声明中,看到这样的写法:
type CommonType[T interface{ *int } | string] []T
不解的是,其中interface{ *int }代表什么语法,为何需要如此声明。
答案
interface{ *int }表示一个类型的集合,该集合中只包含一个类型:*int。
interface type
go语言中,使用interface可以表示一个类型的集合。例如:
- interface { int }表示仅包含int类型的集合。
- interface { ~int }表示所有基础类型为int的类型的集合。
- interface { ~int; string() string }表示所有基础类型为int并实现了string方法的タイプの集合。
- interface { int; string }表示一个空集,因为没有类型既是int又是string。
以上就是Go泛型声明中,`interface{ *int }` 代表什么?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com