Skip to content

DmitriyVTitov/pointer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pointer

Implements two functions:

  • Generic pointer to arbitrary value in Go
  • Value of generic pointer (or default if pointer is nil)

Usage example:

package main

import (
	"fmt"

	"github.com/DmitriyVTitov/pointer"
)

type T struct {
	BoolPointer   *bool
	StringPointer *string
}

func main() {
	var t = T{
		BoolPointer:   pointer.To(true),
		StringPointer: pointer.To("string"),
	}
	_ = t

	var a any
	var nilPointer = pointer.To(a)
	_ = nilPointer

	s := "ABC"
	val := pointer.Val(&s)
	fmt.Println(val == s) // true

	var empty *string
	fmt.Println(pointer.Val(empty) == "") // true
}

About

Generic pointer to value in Go

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages