tuple

package module
v0.0.0-...-4ed54fe Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2022 License: MIT Imports: 3 Imported by: 7

README

Tuple

一、安装

go get -u github.com/golang-infrastructure/go-tuple

二、示例代码

package main

import (
	"fmt"
	"github.com/golang-infrastructure/go-tuple"
)

func main() {

	t2 := tuple.New2(1, "test")
	fmt.Println(t2)

}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Equals

func Equals(a, b any) bool

Equals 比较值是否相同,如果实现了Comparable接口的话就使用接口的方法来比较,否则只简单的做等号比较

func SliceContains

func SliceContains(slice []any, v any) bool

func SliceEquals

func SliceEquals(sliceA, sliceB []any) bool

Types

type Comparable

type Comparable interface {
	CompareTo(target any) int
}

type Tuple2

type Tuple2[V1, V2 any] struct {
	V1 V1
	V2 V2
}

func New2

func New2[V1, V2 any](v1 V1, v2 V2) *Tuple2[V1, V2]

func New2FromSlice

func New2FromSlice[T any](slice []T) *Tuple2[T, T]

New2FromSlice 从Slice创建元组,slice元素会从左到右解构赋值给元组,如果长度超过了的话超过的部分会忽略,如果长度不够不够的部分会保持对应类型的零值

func (*Tuple2[V1, V2]) Concat

func (x *Tuple2[V1, V2]) Concat(delimiter ...string) string

Concat 用给定的分隔符把元组中的所有元素ToString连接起来

func (*Tuple2[V1, V2]) Contains

func (x *Tuple2[V1, V2]) Contains(v any) bool

Contains 元组是否包含给定的值

func (*Tuple2[V1, V2]) Copy

func (x *Tuple2[V1, V2]) Copy() *Tuple2[V1, V2]

Copy 把当前的元组拷贝一份,注意这里只是一个浅拷贝

func (*Tuple2[V1, V2]) Equals

func (x *Tuple2[V1, V2]) Equals(target *Tuple2[V1, V2]) bool

Equals 判断两个元素是否相等

func (*Tuple2[V1, V2]) First

func (x *Tuple2[V1, V2]) First() V1

First 返回元组的第一个元素

func (*Tuple2[V1, V2]) Last

func (x *Tuple2[V1, V2]) Last() V2

Last 返回元素中的最后一个元素

func (*Tuple2[V1, V2]) Len

func (x *Tuple2[V1, V2]) Len() int

Len 返回元素的长度,固定为 2

func (*Tuple2[V1, V2]) Merge

func (x *Tuple2[V1, V2]) Merge(target Tuple2[V1, V2])

Merge 如果当前字段是空的,则使用给定的元组的对应下标来覆盖

func (*Tuple2[V1, V2]) Remove

func (x *Tuple2[V1, V2]) Remove(target Tuple2[V1, V2])

Remove 如果当前元组与目标元组的对应字段相等的话,则移除

func (*Tuple2[V1, V2]) Slice

func (x *Tuple2[V1, V2]) Slice() []any

Slice 把元组转为any切片

func (*Tuple2[V1, V2]) String

func (x *Tuple2[V1, V2]) String() string

把当前的元组转换为字符串,一般是用于打印之类的

func (*Tuple2[V1, V2]) Unpack

func (x *Tuple2[V1, V2]) Unpack() (V1, V2)

Unpack 把元组解构为多个单个的变量返回

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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