1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
package main type Node struct { Circular bool } type ExtNode[V any] struct { v V Node } type List[V any] struct { root *ExtNode[V] len int } func (list *List[V]) PushBack(arg V) { if list.len == 0 { list.root = &ExtNode[V]{v: arg} list.root.Circular = true list.len++ return } list.len++ } func main() { var v List[int] v.PushBack(1) }