Continuums - craterdog/go-component-framework GitHub Wiki

Overview

A continuum is an implicit sequence that captures an infinite range of continuous element values. The endpoints in the continuum may be inclusive or exclusive. Because a continuum contains an infinite number of element values it cannot be interated over.

UML Diagram

A Quick Example

To whet your appetite, here is some short example code that demonstrates the use of continuums.

package main

import (
	fmt "fmt"
	fra "github.com/craterdog/go-component-framework/v7"
)

func main() {
	// Create some number continuums using the module constructor shortcut.
	var numbers = fra.Continuum[fra.NumberLike](
		fra.Exclusive,
		fra.Number(-1.23),
		fra.Number(4.56),
		fra.Exclusive,
	)
	fmt.Println(numbers)
	numbers = fra.Continuum[fra.NumberLike](
		fra.Exclusive,
		fra.NumberClass().Undefined(),
		fra.NumberClass().Zero(),
		fra.Inclusive,
	)
	fmt.Println(numbers)
	numbers = fra.Continuum[fra.NumberLike](
		fra.Inclusive,
		fra.NumberClass().Zero(),
		fra.NumberClass().Infinity(),
		fra.Inclusive,
	)
	fmt.Println(numbers)

	// Create an angle continuums using the module constructor shortcut.
	var angles = fra.Continuum[fra.AngleLike](
		fra.Inclusive,
		fra.Angle(0),
		fra.AngleClass().Tau(),
		fra.Exclusive,
	)
	fmt.Println(angles)
}

Try it out in the Go Playground...