Back to

package event

v0.0.0 (278e9bc)
Latest Go to latest
Published: Jun 3, 2020 | Licenses: MIT, Unlicense | Module:


Package event contains the types for event handling.

The Queue interface is the protocol for receiving external events.

For example:

var queue event.Queue = ...

for _, e := range queue.Events(h) {
	switch e.(type) {

In general, handlers must be declared before events become available. Other packages such as pointer and key provide the means for declaring handlers for specific event types.

The following example declares a handler ready for key input:


ops := new(op.Ops)
var h *Handler = ...
key.InputOp{Tag: h}.Add(ops)


type Event

type Event interface {

Event is the marker interface for events.

type Queue

type Queue interface {
	// Events returns the available events for an
	// event handler tag.
	Events(t Tag) []Event

Queue maps an event handler key to the events available to the handler.

type Tag

type Tag interface{}

Tag is the stable identifier for an event handler. For a handler h, the tag is typically &h.

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier