Documentation
¶
Index ¶
- type DynamicArray
- func (d *DynamicArray[T]) Back() *T
- func (d *DynamicArray[T]) Begin() Iterator[T]
- func (d *DynamicArray[T]) Cap() int
- func (d *DynamicArray[T]) End() Iterator[T]
- func (d *DynamicArray[T]) Front() *T
- func (d *DynamicArray[T]) Len() int
- func (d *DynamicArray[T]) PopBack()
- func (d *DynamicArray[T]) PushBack(e T)
- type Iterator
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DynamicArray ¶
type DynamicArray[T any] []T
A resizable array.
Equivalent to a slice.
func New ¶ added in v0.2.0
func New[T any]() DynamicArray[T]
func (*DynamicArray[T]) Back ¶
func (d *DynamicArray[T]) Back() *T
Return a pointer to the last element.
Example ¶
da := New[int]() da.PushBack(42) da.PushBack(12) da.PushBack(99) fmt.Println(*da.Back())
Output: 99
func (*DynamicArray[T]) Begin ¶
func (d *DynamicArray[T]) Begin() Iterator[T]
Return an iterator points to the first element.
Example ¶
da := DynamicArray[int]{1, 2, 3} iter := da.Begin() fmt.Print(iter.Get())
Output: 1
func (*DynamicArray[T]) Cap ¶
func (d *DynamicArray[T]) Cap() int
Return the capacity.
Example ¶
da := New[int]() da.PushBack(42) da.PushBack(12) da.PushBack(99) fmt.Println(da.Cap())
Output: 4
func (*DynamicArray[T]) End ¶
func (d *DynamicArray[T]) End() Iterator[T]
Return an iterator one pass the last element.
Example ¶
da := DynamicArray[int]{1, 2, 3} iterator := da.End() fmt.Print(iterator.index)
Output: 3
func (*DynamicArray[T]) Front ¶
func (d *DynamicArray[T]) Front() *T
Return a pointer to the first element.
Example ¶
da := New[int]() da.PushBack(42) da.PushBack(12) da.PushBack(99) fmt.Println(*da.Front())
Output: 42
func (*DynamicArray[T]) Len ¶
func (d *DynamicArray[T]) Len() int
Return the number of element.
Example ¶
da := New[int]() da.PushBack(42) da.PushBack(12) da.PushBack(99) fmt.Println(da.Len())
Output: 3
func (*DynamicArray[T]) PopBack ¶
func (d *DynamicArray[T]) PopBack()
Remove the last element.
It also zero it for the GC to clean up.
Example ¶
da := New[int]() da.PushBack(42) da.PushBack(12) da.PopBack() fmt.Println(da)
Output: [42]
func (*DynamicArray[T]) PushBack ¶
func (d *DynamicArray[T]) PushBack(e T)
Append e to the array.
Example ¶
da := New[int]() da.PushBack(42) da.PushBack(12) fmt.Println(da)
Output: [42 12]
type Iterator ¶
type Iterator[T any] struct { // contains filtered or unexported fields }
A dynamic array iterator that traverse element by indexing order.
Example ¶
da := DynamicArray[int]{1, 2, 3} for iter := da.Begin(); iter != da.End(); iter.Next() { fmt.Println(iter.Get()) iter.Set(iter.Get() * 2) } for iter := da.Begin(); iter.HasNext(); iter.Next() { fmt.Println(iter.Get()) }
Output: 1 2 3 2 4 6
Click to show internal directories.
Click to hide internal directories.