pair

package
v0.0.0-...-b7c8a0c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 14, 2024 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Firsts

func Firsts[D ~[]Pair[K, V], K any, V any](data D) []K

Firsts 提取一个包含配对的第一个元素的切片。 该函数接受一个类型为D的切片,其中D是Pair[K, V]类型的切片的约束。 它返回一个K类型的切片,包含了输入切片中每个配对的第一个元素。 参数:

  • data D - 一个包含Pair[K, V]类型元素的切片。

返回值:

  • []K - 一个切片,包含输入切片中每个配对的第一个元素。

func Seconds

func Seconds[D ~[]Pair[K, V], K any, V any](data D) []V

Seconds 提取一个包含配对数据的切片中所有第二个元素,返回一个只包含这些第二个元素的切片。 该函数适用于任何实现了配对(Pair)接口的切片类型D,其中每个配对包含键(K)和值(V)。 参数:

  • data D: 一个包含配对数据的切片,每个配对包含一个键和一个值。

返回值:

  • []V: 一个切片,包含输入切片中所有配对的第二个元素(值)。

  • 如果输入切片为空,函数将返回一个空切片,以避免处理空切片时的潜在错误。

func ToMap

func ToMap[D ~[]Pair[K, V], K gotools.Comparable, V any](data D) map[K][]V

ToMap 将一个包含键值对的切片转换为一个映射。 参数:

  • data: 一个包含键值对的切片。

返回值:

  • 一个 map[K][]V 类型的映射。

Types

type Pair

type Pair[T, U any] struct {
	First  T
	Second U
}

func FromArray

func FromArray[F ~[]T, S ~[]V, T, V any](first F, second S) []Pair[T, V]

FromArray 根据两个数组创建一个包含对应元素对的数组。 参数:

  • first: 第一个数组,类型为 F。
  • second: 第二个数组,类型为 S。

返回:

  • 一个包含对应元素对的数组,每个元素对表示为 Pair[F, S]

func FromMap

func FromMap[K gotools.Comparable, V any](data map[K]V) []Pair[K, V]

FromMap 将一个映射转换为一个包含键值对的切片。 参数:

  • data: 一个映射,键类型为 K,值类型为 V。

返回:

  • 一个切片,其中包含所有映射中的键值对,每个键值对表示为 Pair[K, V]。

函数功能:

  • 遍历映射 data,将每个键值对转换为 Pair[K, V] 类型,并将其添加到切片 pairs 中。
  • 返回包含所有键值对的切片 pairs。

func Of

func Of[T, U any](first T, second U) Pair[T, U]

Of 创建一个包含两种类型元素的Pair。 这个函数展示了Go的泛型特性,允许创建泛型对,其中每个元素可以是任何类型。 参数:

  • first - Pair中的第一个元素,类型为T。
  • second - Pair中的第二个元素,类型为U。

返回值:

  • 返回一个Pair[T, U]实例,其中T和U是泛型类型,可以是任何类型。

使用场景:

  • 当需要将两个不相关或不同类型的数据作为一个单元返回时,可以使用PairOf函数。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL