iterator

package
v0.94.0-pre Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2021 License: MIT Imports: 0 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 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 `System.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 `System.Iterator.Value` syscall. For slices the result is just value. For maps the result can be casted to a slice of 2 elements: key and value. For storage iterators refer to `storage.FindFlags` documentation.

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 Create

func Create(items interface{}) Iterator

Create creates an iterator from the given items (array, struct, map, byte array or integer and boolean converted to byte array). 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 `System.Iterator.Create` syscall.

Jump to

Keyboard shortcuts

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