在 Go 语言中,泛型列表是指可以存储任何类型的数据的列表。在 Go 语言中,泛型列表可以通过使用接口来实现。接口是一种类型,它定义了一组方法的集合,但不需要实现这些方法。因此,任何类型都可以实现接口,从而使其成为泛型列表的元素。
以下是一个简单的示例,演示如何使用接口来实现泛型列表:
package main
import "fmt"
type Any interface{}
type List struct {
items []Any
}
func (l *List) Add(item Any) {
l.items = append(l.items, item)
}
func (l *List) Get(index int) Any {
return l.items[index]
}
func main() {
list := List{}
list.Add("hello")
list.Add(42)
list.Add(3.14)
fmt.Println(list.Get(0)) // "hello"
fmt.Println(list.Get(1)) // 42
fmt.Println(list.Get(2)) // 3.14
}
在这个示例中,我们定义了一个名为 Any
的接口,它没有定义任何方法。然后,我们定义了一个名为 List
的结构体,它包含一个名为 items
的切片,该切片包含 Any
类型的元素。我们还定义了两个方法:Add
和 Get
,它们分别用于向列表中添加元素和获取元素。
在 main
函数中,我们创建了一个 List
类型的实例,并向其中添加了三个不同类型的元素:字符串、整数和浮点数。然后,我们使用 Get
方法获取这些元素,并将它们打印到控制台上。
这个示例演示了如何在 Go 语言中实现泛型列表,以及如何使用接口来存储任何类型的数据。
领取专属 10元无门槛券
手把手带您无忧上云