Skip to content
/ go-nul Public

Package nul implements a nullable optional-type, for the Go programming language. In other programming languages, an optional-type might be know as: a option-type, or a maybe-type.

License

Notifications You must be signed in to change notification settings

reiver/go-nul

Folders and files

NameName
Last commit message
Last commit date

Latest commit

493a75a Â· Aug 9, 2024

History

32 Commits
Aug 1, 2024
Aug 1, 2024
Aug 9, 2024
Aug 9, 2024
Aug 9, 2024
Sep 23, 2023
Aug 1, 2024
Aug 1, 2024
Aug 1, 2024
Aug 9, 2024
Aug 1, 2024
Aug 9, 2024
Aug 1, 2024
Aug 7, 2024
Aug 1, 2024
Aug 1, 2024
Aug 1, 2024
Aug 1, 2024
Aug 1, 2024
Aug 1, 2024

Repository files navigation

go-nul

Package nul implements a nullable optional-type, for the Go programming language.

In other programming languages, an optional-type might be known as: a option-type, or a maybe-type.

Documention

Online documentation, which includes examples, can be found at: http://godoc.org/github.com/reiver/go-nul

GoDoc

Examples

Here is an example nullable optional-type that can hold a string:

import "github.com/reiver/go-nul"

//

var op nul.Nullable[string] // the default value is nothing.

// ...

if nul.Nothing[string]() == op {
	fmt.Println("nothing")
}

// ...

op = nul.Null[string]()

// ...

if nul.Null[string]() == op {
	fmt.Println("null")
}

// ...

op = nul.Something("Hello world! 👾")

// ...

switch op {
case op.Nothing[string]():
	//@TODO
case op.Null[string]():
	//@TODO
case op.Something("apple"):
	//@TODO
case op.Something("banana"):
	//@TODO
case op.Something("cherry"):
	//@TODO
default:
	//@TODO
}

// ...

value, found := op.Get()
if found {
	fmt.Println("VALUE:", value)
} else {
	fmt.Println("either nothing or null")
}

Import

To import package nul use import code like the follownig:

import "github.com/reiver/go-nul"

Installation

To install package nul do the following:

GOPROXY=direct go get https://github.com/reiver/go-nul

Author

Package nul was written by Charles Iliya Krempeaux

About

Package nul implements a nullable optional-type, for the Go programming language. In other programming languages, an optional-type might be know as: a option-type, or a maybe-type.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages