iterator

package
v0.77.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2020 License: MIT Imports: 1 Imported by: 28

Documentation

Overview

Package iterator provides functions to work with Neo iterators.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Key

func Key(it Iterator) interface{}

Key returns iterator's key at current position. It's only valid to call after successful Next call. This function uses `Neo.Iterator.Key` syscall.

func Keys

Keys returns Enumerator ranging over keys or the given Iterator. Note that this Enumerator is actually directly tied to the underlying Iterator, so that advancing it with Next will actually advance the Iterator too. This function uses `Neo.Iterator.Keys` syscall.

func Next added in v0.75.0

func Next(it Iterator) bool

Next advances the iterator returning true if it is was successful (and you can use Key or Value) and false otherwise (and there are no more elements in this Iterator). This function uses `Neo.Iterator.Next` syscall.

func Value added in v0.75.0

func Value(it Iterator) interface{}

Value returns iterator's current value. It's only valid to call after successful Next call. This function uses `Neo.Iterator.Value` syscall.

func Values

func Values(it Iterator) enumerator.Enumerator

Values returns Enumerator ranging over values or the given Iterator. Note that this Enumerator is actually directly tied to the underlying Iterator, so that advancing it with Next will actually advance the Iterator too. This function uses `Neo.Iterator.Values` syscall.

Types

type Iterator

type Iterator struct{}

Iterator represents a Neo iterator, it's an opaque data structure that can be properly created by Create or storage.Find. Unlike enumerators, iterators range over key-value pairs, so it's convenient to use them for maps. This structure is similar in function to Neo .net framework's Iterator.

func Concat added in v0.75.0

func Concat(a, b Iterator) Iterator

Concat concatenates two given iterators returning one that will range on a first and then continue with b. Iterator positions are not reset for a and b, so if any of them was already advanced by Next the resulting Iterator will point at this new position and never go back to previous key-value pairs. This function uses `Neo.Iterator.Concat` syscall.

func Create

func Create(items []interface{}) Iterator

Create creates an iterator from the given items (array, struct or map). A new iterator is set to point at element -1, so to access its first element you need to call Next first. This function uses `Neo.Iterator.Create` syscall.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL