 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package datastruct is an experimental package, that is a candidate to become a port if there is use-case to support it.
Index ¶
- type Appendable
- type Containable
- type Iterable
- type KeyValueStore
- type LinkedList
- func (ll *LinkedList[T]) Append(vs ...T)
- func (ll *LinkedList[T]) Iter() iter.Seq[T]
- func (ll *LinkedList[T]) Len() int
- func (ll *LinkedList[T]) Lookup(index int) (T, bool)
- func (ll *LinkedList[T]) Pop() (T, bool)
- func (ll *LinkedList[T]) Prepend(vs ...T)
- func (ll *LinkedList[T]) Shift() (T, bool)
- func (ll *LinkedList[T]) Slice() []T
 
- type List
- type Map
- type Mapper
- type OrderedSet
- func (s *OrderedSet[T]) Append(vs ...T)
- func (s OrderedSet[T]) Contains(v T) bool
- func (s *OrderedSet[T]) Delete(index int) bool
- func (set OrderedSet[T]) FromSlice(vs []T) OrderedSet[T]
- func (s OrderedSet[T]) Has(v T) booldeprecated
- func (s *OrderedSet[T]) Insert(index int, vs ...T) bool
- func (s OrderedSet[T]) Iter() iter.Seq[T]
- func (s OrderedSet[T]) Len() int
- func (s *OrderedSet[T]) Lookup(index int) (T, bool)
- func (s *OrderedSet[T]) Set(index int, v T) bool
- func (s OrderedSet[T]) Slice() []T
 
- type Sequence
- type Set
- type Sizer
- type Slicer
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Appendable ¶ added in v0.307.0
type Appendable[T any] interface { Append(vs ...T) }
type Containable ¶ added in v0.307.0
type KeyValueStore ¶
type LinkedList ¶
type LinkedList[T any] struct { // contains filtered or unexported fields }
func (*LinkedList[T]) Append ¶
func (ll *LinkedList[T]) Append(vs ...T)
func (*LinkedList[T]) Iter ¶
func (ll *LinkedList[T]) Iter() iter.Seq[T]
func (*LinkedList[T]) Len ¶
func (ll *LinkedList[T]) Len() int
Len returns the length of elements in the list
func (*LinkedList[T]) Lookup ¶
func (ll *LinkedList[T]) Lookup(index int) (T, bool)
func (*LinkedList[T]) Pop ¶
func (ll *LinkedList[T]) Pop() (T, bool)
func (*LinkedList[T]) Prepend ¶
func (ll *LinkedList[T]) Prepend(vs ...T)
Prepend adds an element to the beginning of the list.
func (*LinkedList[T]) Shift ¶
func (ll *LinkedList[T]) Shift() (T, bool)
func (*LinkedList[T]) Slice ¶
func (ll *LinkedList[T]) Slice() []T
type Map ¶
type Map[K comparable, V any] map[K]V
type Mapper ¶
type Mapper[K comparable, V any] interface { // Map returns the contents as a map[K]V. Map() map[K]V }
type OrderedSet ¶
type OrderedSet[T comparable] struct { // contains filtered or unexported fields }
Example ¶
package main
import (
	"go.llib.dev/frameless/port/datastruct"
)
func main() {
	var set datastruct.OrderedSet[string]
	set.Append("foo", "bar", "baz", "foo")
	set.Slice()         // []string{"foo", "bar", "baz"}
	set.Len()           // 3
	set.Contains("foo") // true
}
func (*OrderedSet[T]) Append ¶
func (s *OrderedSet[T]) Append(vs ...T)
Example ¶
package main
import (
	"go.llib.dev/frameless/port/datastruct"
)
func main() {
	var set datastruct.OrderedSet[string]
	set.Append("foo", "bar", "baz", "foo")
	set.Slice() // []string{"foo", "bar", "baz"}
	set.Len()   // 3
}
func (OrderedSet[T]) Contains ¶ added in v0.307.0
func (s OrderedSet[T]) Contains(v T) bool
Example ¶
package main
import (
	"go.llib.dev/frameless/port/datastruct"
)
func main() {
	var set datastruct.OrderedSet[string]
	set.Append("foo", "bar", "baz", "foo")
	set.Contains("foo") // true
	set.Contains("bar") // true
	set.Contains("oof") // false
}
func (*OrderedSet[T]) Delete ¶
func (s *OrderedSet[T]) Delete(index int) bool
func (OrderedSet[T]) FromSlice ¶
func (set OrderedSet[T]) FromSlice(vs []T) OrderedSet[T]
Example ¶
package main
import (
	"go.llib.dev/frameless/port/datastruct"
)
func main() {
	var vs = []string{"foo", "bar", "baz", "foo"}
	var set = datastruct.OrderedSet[string]{}.FromSlice(vs)
	set.Slice() // []string{"foo", "bar", "baz"}
	set.Len()   // 3
}
        
          
            func (OrderedSet[T]) Has
            deprecated
            
          
  
    
  
      
      func (s OrderedSet[T]) Has(v T) bool
Has is an alias for OrderedSet#Contains
Deprecated: use OrderedSet#Contains
func (*OrderedSet[T]) Insert ¶
func (s *OrderedSet[T]) Insert(index int, vs ...T) bool
func (OrderedSet[T]) Iter ¶
func (s OrderedSet[T]) Iter() iter.Seq[T]
Example ¶
package main
import (
	"go.llib.dev/frameless/port/datastruct"
)
func main() {
	var set datastruct.OrderedSet[string]
	set.Append("foo", "bar", "baz", "foo")
	for v := range set.Iter() {
		_ = v // "foo" -> "bar" -> "baz"
	}
}
func (OrderedSet[T]) Len ¶
func (s OrderedSet[T]) Len() int
func (*OrderedSet[T]) Lookup ¶
func (s *OrderedSet[T]) Lookup(index int) (T, bool)
func (*OrderedSet[T]) Set ¶
func (s *OrderedSet[T]) Set(index int, v T) bool
func (OrderedSet[T]) Slice ¶
func (s OrderedSet[T]) Slice() []T
Example ¶
package main
import (
	"go.llib.dev/frameless/port/datastruct"
)
func main() {
	var set datastruct.OrderedSet[string]
	set.Append("foo", "bar", "baz", "foo")
	set.Slice() // []string{"foo", "bar", "baz"}
	set.Len()   // 3
}
type Set ¶
type Set[T comparable] map[T]struct{}
Example ¶
package main
import (
	"go.llib.dev/frameless/port/datastruct"
)
func main() {
	var set datastruct.Set[string]
	set.Append("foo", "bar", "baz")
	for v := range set.Iter() {
		_ = v // "foo" / "bar" / "baz"
	}
}
 Click to show internal directories. 
   Click to hide internal directories.