package unique

import "unique"

unique 包提供对可比较值进行规范化("interning")的工具。

Index

Types

type Handle

type Handle[T comparable] struct {
	// contains filtered or unexported fields
}

Handle 是类型 T 的某个值的全局唯一标识。

两个 Handle 比较相等,当且仅当用于创建这两个 Handle 的两个值 也会比较相等。两个 Handle 的比较是平凡的, 通常比比较用于创建它们的值高效得多。

func Make
func Make[T comparable](value T) Handle[T]

Make 返回类型 T 的某个值的全局唯一 handle。两个 Handle 相等当且仅当用于产生它们的值相等。 Make 可安全地被多个 goroutine 并发使用。

func (Handle[T]) Value
func (h Handle[T]) Value() T

Value 返回产生该 Handle 的 T 值的浅拷贝。 Value 可安全地被多个 goroutine 并发使用。