Go 泛型与接口:提升代码灵活性与通用性
1. Go 结构体中的泛型应用
在 Go 语言里,泛型能够极大地简化代码,尤其是在处理需要支持多种数据类型的场景时。下面以实现一个支持泛型的链表为例进行说明。
package main
import (
"fmt"
)
type node[T any] struct {
Data T
next *node[T]
}
type list[T any] struct {
start *node[T]
}
func (l *list[T]) add(data T) {
n := node[T]{
Data: data,
next: nil,
}
if l.start == nil {
l.start = &n
return
}
if l.start.next == nil {
l.start.next = &n
return
}
temp := l.start
l.start = l.start.next
l.add(data)
l.start = temp
}
func main() {
var myList list[int]
fmt.Println(myList)
myList.add(12)
myList.add(9)
myList.add(3)
myList.add(9)
cur := myList.start
for
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



