| 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) | |
| } |