Documentation ¶
Overview ¶
Package tuple implements tuple data type and some operations on it.
Index ¶
- func Unzip10[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any](tuples []Tuple10[A, B, C, D, E, F, G, H, I, J]) ([]A, []B, []C, []D, []E, []F, []G, []H, []I, []J)
- func Unzip2[A any, B any](tuples []Tuple2[A, B]) ([]A, []B)
- func Unzip3[A any, B any, C any](tuples []Tuple3[A, B, C]) ([]A, []B, []C)
- func Unzip4[A any, B any, C any, D any](tuples []Tuple4[A, B, C, D]) ([]A, []B, []C, []D)
- func Unzip5[A any, B any, C any, D any, E any](tuples []Tuple5[A, B, C, D, E]) ([]A, []B, []C, []D, []E)
- func Unzip6[A any, B any, C any, D any, E any, F any](tuples []Tuple6[A, B, C, D, E, F]) ([]A, []B, []C, []D, []E, []F)
- func Unzip7[A any, B any, C any, D any, E any, F any, G any](tuples []Tuple7[A, B, C, D, E, F, G]) ([]A, []B, []C, []D, []E, []F, []G)
- func Unzip8[A any, B any, C any, D any, E any, F any, G any, H any](tuples []Tuple8[A, B, C, D, E, F, G, H]) ([]A, []B, []C, []D, []E, []F, []G, []H)
- func Unzip9[A any, B any, C any, D any, E any, F any, G any, H any, I any](tuples []Tuple9[A, B, C, D, E, F, G, H, I]) ([]A, []B, []C, []D, []E, []F, []G, []H, []I)
- type Tuple10
- func NewTuple10[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any](a A, b B, c C, d D, e E, f F, g G, h H, i I, j J) Tuple10[A, B, C, D, E, F, G, H, I, J]
- func Zip10[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any](a []A, b []B, c []C, d []D, e []E, f []F, g []G, h []H, i []I, j []J) []Tuple10[A, B, C, D, E, F, G, H, I, J]
- type Tuple2
- type Tuple3
- type Tuple4
- type Tuple5
- type Tuple6
- type Tuple7
- type Tuple8
- type Tuple9
- func NewTuple9[A any, B any, C any, D any, E any, F any, G any, H any, I any](a A, b B, c C, d D, e E, f F, g G, h H, i I) Tuple9[A, B, C, D, E, F, G, H, I]
- func Zip9[A any, B any, C any, D any, E any, F any, G any, H any, I any](a []A, b []B, c []C, d []D, e []E, f []F, g []G, h []H, i []I) []Tuple9[A, B, C, D, E, F, G, H, I]
Examples ¶
- NewTuple10
- NewTuple2
- NewTuple3
- NewTuple4
- NewTuple5
- NewTuple6
- NewTuple7
- NewTuple8
- NewTuple9
- Tuple10.Unbox
- Tuple2.Unbox
- Tuple3.Unbox
- Tuple4.Unbox
- Tuple5.Unbox
- Tuple6.Unbox
- Tuple7.Unbox
- Tuple8.Unbox
- Tuple9.Unbox
- Unzip10
- Unzip2
- Unzip3
- Unzip4
- Unzip5
- Unzip6
- Unzip7
- Unzip8
- Unzip9
- Zip10
- Zip2
- Zip3
- Zip4
- Zip5
- Zip6
- Zip7
- Zip8
- Zip9
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Unzip10 ¶
func Unzip10[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any](tuples []Tuple10[A, B, C, D, E, F, G, H, I, J]) ([]A, []B, []C, []D, []E, []F, []G, []H, []I, []J)
Unzip10 creates a group of slice from a slice of Tuple10. Play: https://go.dev/play/p/-taQB6Wfre_z
Example ¶
v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 := Unzip10([]Tuple10[int, float64, string, bool, int, float32, string, string, int64, bool]{ {FieldA: 1, FieldB: 0.1, FieldC: "a", FieldD: true, FieldE: 2, FieldF: 2.2, FieldG: "b", FieldH: "c", FieldI: 3, FieldJ: false}, }) fmt.Printf("%v %v %v %v %v %v %v %v %v %v", v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)
Output: [1] [0.1] [a] [true] [2] [2.2] [b] [c] [3] [false]
func Unzip2 ¶
Unzip2 creates a group of slice from a slice of Tuple2. Play: https://go.dev/play/p/KBecr60feXb
Example ¶
v1, v2 := Unzip2([]Tuple2[int, float64]{{FieldA: 1, FieldB: 0.1}}) fmt.Printf("%v %v", v1, v2)
Output: [1] [0.1]
func Unzip3 ¶
Unzip3 creates a group of slice from a slice of Tuple3. Play: https://go.dev/play/p/bba4cpAa7KO
Example ¶
v1, v2, v3 := Unzip3([]Tuple3[int, float64, string]{ {FieldA: 1, FieldB: 0.1, FieldC: "a"}, }) fmt.Printf("%v %v %v", v1, v2, v3)
Output: [1] [0.1] [a]
func Unzip4 ¶
Unzip4 creates a group of slice from a slice of Tuple4. Play: https://go.dev/play/p/rb8z4gyYSRN
Example ¶
v1, v2, v3, v4 := Unzip4([]Tuple4[int, float64, string, bool]{ {FieldA: 1, FieldB: 0.1, FieldC: "a", FieldD: true}, }) fmt.Printf("%v %v %v %v", v1, v2, v3, v4)
Output: [1] [0.1] [a] [true]
func Unzip5 ¶
func Unzip5[A any, B any, C any, D any, E any](tuples []Tuple5[A, B, C, D, E]) ([]A, []B, []C, []D, []E)
Unzip5 creates a group of slice from a slice of Tuple5. Play: https://go.dev/play/p/gyl6vKfhqPb
Example ¶
v1, v2, v3, v4, v5 := Unzip5([]Tuple5[int, float64, string, bool, int]{ {FieldA: 1, FieldB: 0.1, FieldC: "a", FieldD: true, FieldE: 2}, }) fmt.Printf("%v %v %v %v %v", v1, v2, v3, v4, v5)
Output: [1] [0.1] [a] [true] [2]
func Unzip6 ¶
func Unzip6[A any, B any, C any, D any, E any, F any](tuples []Tuple6[A, B, C, D, E, F]) ([]A, []B, []C, []D, []E, []F)
Unzip6 creates a group of slice from a slice of Tuple6. Play: https://go.dev/play/p/l41XFqCyh5E
Example ¶
v1, v2, v3, v4, v5, v6 := Unzip6([]Tuple6[int, float64, string, bool, int, float32]{ {FieldA: 1, FieldB: 0.1, FieldC: "a", FieldD: true, FieldE: 2, FieldF: 2.2}, }) fmt.Printf("%v %v %v %v %v %v", v1, v2, v3, v4, v5, v6)
Output: [1] [0.1] [a] [true] [2] [2.2]
func Unzip7 ¶
func Unzip7[A any, B any, C any, D any, E any, F any, G any](tuples []Tuple7[A, B, C, D, E, F, G]) ([]A, []B, []C, []D, []E, []F, []G)
Unzip7 creates a group of slice from a slice of Tuple7. Play: https://go.dev/play/p/hws_P1Fr2j3
Example ¶
v1, v2, v3, v4, v5, v6, v7 := Unzip7([]Tuple7[int, float64, string, bool, int, float32, string]{ {FieldA: 1, FieldB: 0.1, FieldC: "a", FieldD: true, FieldE: 2, FieldF: 2.2, FieldG: "b"}, }) fmt.Printf("%v %v %v %v %v %v %v", v1, v2, v3, v4, v5, v6, v7)
Output: [1] [0.1] [a] [true] [2] [2.2] [b]
func Unzip8 ¶
func Unzip8[A any, B any, C any, D any, E any, F any, G any, H any](tuples []Tuple8[A, B, C, D, E, F, G, H]) ([]A, []B, []C, []D, []E, []F, []G, []H)
Unzip8 creates a group of slice from a slice of Tuple8. Play: https://go.dev/play/p/1SndOwGsZB4
Example ¶
v1, v2, v3, v4, v5, v6, v7, v8 := Unzip8([]Tuple8[int, float64, string, bool, int, float32, string, string]{ {FieldA: 1, FieldB: 0.1, FieldC: "a", FieldD: true, FieldE: 2, FieldF: 2.2, FieldG: "b", FieldH: "c"}, }) fmt.Printf("%v %v %v %v %v %v %v %v", v1, v2, v3, v4, v5, v6, v7, v8)
Output: [1] [0.1] [a] [true] [2] [2.2] [b] [c]
func Unzip9 ¶
func Unzip9[A any, B any, C any, D any, E any, F any, G any, H any, I any](tuples []Tuple9[A, B, C, D, E, F, G, H, I]) ([]A, []B, []C, []D, []E, []F, []G, []H, []I)
Unzip9 creates a group of slice from a slice of Tuple9. Play: https://go.dev/play/p/91-BU_KURSA
Example ¶
v1, v2, v3, v4, v5, v6, v7, v8, v9 := Unzip9([]Tuple9[int, float64, string, bool, int, float32, string, string, int64]{ {FieldA: 1, FieldB: 0.1, FieldC: "a", FieldD: true, FieldE: 2, FieldF: 2.2, FieldG: "b", FieldH: "c", FieldI: 3}, }) fmt.Printf("%v %v %v %v %v %v %v %v %v", v1, v2, v3, v4, v5, v6, v7, v8, v9)
Output: [1] [0.1] [a] [true] [2] [2.2] [b] [c] [3]
Types ¶
type Tuple10 ¶
type Tuple10[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any] struct { FieldA A FieldB B FieldC C FieldD D FieldE E FieldF F FieldG G FieldH H FieldI I FieldJ J }
Tuple10 represents a 10 elemnets tuple
func NewTuple10 ¶
func NewTuple10[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any](a A, b B, c C, d D, e E, f F, g G, h H, i I, j J) Tuple10[A, B, C, D, E, F, G, H, I, J]
NewTuple10 creates a 10 elemnets tuple from a list of values. Play: https://go.dev/play/p/799qqZg0hUv
Example ¶
type foo struct { A string } t := NewTuple10(1, 0.1, "a", true, 2, 2.2, "b", "c", map[string]int{"a": 1}, foo{A: "a"}) fmt.Printf("%v %v %v %v %v %v %v %v %v %v", t.FieldA, t.FieldB, t.FieldC, t.FieldD, t.FieldE, t.FieldF, t.FieldG, t.FieldH, t.FieldI, t.FieldJ)
Output: 1 0.1 a true 2 2.2 b c map[a:1] {a}
func Zip10 ¶
func Zip10[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any](a []A, b []B, c []C, d []D, e []E, f []F, g []G, h []H, i []I, j []J) []Tuple10[A, B, C, D, E, F, G, H, I, J]
Zip10 create a slice of Tuple10, whose elements are correspond to the given slice elements. Play: https://go.dev/play/p/YSR-2cXnrY4
Example ¶
result := Zip10([]int{1}, []float64{0.1}, []string{"a"}, []bool{true}, []int{2}, []float32{2.2}, []string{"b"}, []string{"c"}, []int64{3}, []bool{false}) fmt.Println(result)
Output: [{1 0.1 a true 2 2.2 b c 3 false}]
func (Tuple10[A, B, C, D, E, F, G, H, I, J]) Unbox ¶
func (t Tuple10[A, B, C, D, E, F, G, H, I, J]) Unbox() (A, B, C, D, E, F, G, H, I, J)
Unbox returns values in tuple. Play: https://go.dev/play/p/qfyx3x_X0Cu
Example ¶
type foo struct { A string } t := NewTuple10(1, 0.1, "a", true, 2, 2.2, "b", "c", map[string]int{"a": 1}, foo{A: "a"}) v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 := t.Unbox() fmt.Printf("%v %v %v %v %v %v %v %v %v %v", v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)
Output: 1 0.1 a true 2 2.2 b c map[a:1] {a}
type Tuple2 ¶
Tuple2 represents a 2 elemnets tuple
func NewTuple2 ¶
NewTuple2 creates a 2 elemnets tuple from a list of values. Play: https://go.dev/play/p/3sHVqBQpLYN
Example ¶
t := NewTuple2(1, 0.1) fmt.Printf("%v %v", t.FieldA, t.FieldB)
Output: 1 0.1
func Zip2 ¶
Zip2 create a slice of Tuple2, whose elements are correspond to the given slice elements. Play: https://go.dev/play/p/4ncWJJ77Xio
Example ¶
result := Zip2([]int{1}, []float64{0.1}) fmt.Println(result)
Output: [{1 0.1}]
func (Tuple2[A, B]) Unbox ¶
func (t Tuple2[A, B]) Unbox() (A, B)
Unbox returns values in tuple. Play: https://go.dev/play/p/0fD1qfCVwjm
Example ¶
t := NewTuple2(1, 0.1) v1, v2 := t.Unbox() fmt.Printf("%v %v", v1, v2)
Output: 1 0.1
type Tuple3 ¶
Tuple3 represents a 3 elemnets tuple
func NewTuple3 ¶
NewTuple3 creates a 3 elemnets tuple from a list of values. Play: https://go.dev/play/p/FtH2sdCLlCf
Example ¶
t := NewTuple3(1, 0.1, "a") fmt.Printf("%v %v %v", t.FieldA, t.FieldB, t.FieldC)
Output: 1 0.1 a
func Zip3 ¶
Zip3 create a slice of Tuple3, whose elements are correspond to the given slice elements. Play: https://go.dev/play/p/97NgmsTILfu
Example ¶
result := Zip3([]int{1}, []float64{0.1}, []string{"a"}) fmt.Println(result)
Output: [{1 0.1 a}]
func (Tuple3[A, B, C]) Unbox ¶
func (t Tuple3[A, B, C]) Unbox() (A, B, C)
Unbox returns values in tuple. Play: https://go.dev/play/p/YojLy-id1BS
Example ¶
t := NewTuple3(1, 0.1, "a") v1, v2, v3 := t.Unbox() fmt.Printf("%v %v %v", v1, v2, v3)
Output: 1 0.1 a
type Tuple4 ¶
Tuple4 represents a 4 elemnets tuple
func NewTuple4 ¶
NewTuple4 creates a 4 elemnets tuple from a list of values. Play: https://go.dev/play/p/D2EqDz096tk
Example ¶
t := NewTuple4(1, 0.1, "a", true) fmt.Printf("%v %v %v %v", t.FieldA, t.FieldB, t.FieldC, t.FieldD)
Output: 1 0.1 a true
func Zip4 ¶
Zip4 create a slice of Tuple4, whose elements are correspond to the given slice elements. Play: https://go.dev/play/p/PEmTYVK5hL4
Example ¶
result := Zip4([]int{1}, []float64{0.1}, []string{"a"}, []bool{true}) fmt.Println(result)
Output: [{1 0.1 a true}]
func (Tuple4[A, B, C, D]) Unbox ¶
func (t Tuple4[A, B, C, D]) Unbox() (A, B, C, D)
Unbox returns values in tuple. Play: https://go.dev/play/p/ACj9YuACGgW
Example ¶
t := NewTuple4(1, 0.1, "a", true) v1, v2, v3, v4 := t.Unbox() fmt.Printf("%v %v %v %v", v1, v2, v3, v4)
Output: 1 0.1 a true
type Tuple5 ¶
type Tuple5[A any, B any, C any, D any, E any] struct { FieldA A FieldB B FieldC C FieldD D FieldE E }
Tuple5 represents a 5 elemnets tuple
func NewTuple5 ¶
NewTuple5 creates a 5 elemnets tuple from a list of values. Play: https://go.dev/play/p/2WndmVxPg-r
Example ¶
t := NewTuple5(1, 0.1, "a", true, 2) fmt.Printf("%v %v %v %v %v", t.FieldA, t.FieldB, t.FieldC, t.FieldD, t.FieldE)
Output: 1 0.1 a true 2
func Zip5 ¶
func Zip5[A any, B any, C any, D any, E any](a []A, b []B, c []C, d []D, e []E) []Tuple5[A, B, C, D, E]
Zip5 create a slice of Tuple5, whose elements are correspond to the given slice elements. Play: https://go.dev/play/p/fCAAJLMfBIP
Example ¶
result := Zip5([]int{1}, []float64{0.1}, []string{"a"}, []bool{true}, []int{2}) fmt.Println(result)
Output: [{1 0.1 a true 2}]
func (Tuple5[A, B, C, D, E]) Unbox ¶
func (t Tuple5[A, B, C, D, E]) Unbox() (A, B, C, D, E)
Unbox returns values in tuple. Play: https://go.dev/play/p/GyIyZHjCvoS
Example ¶
t := NewTuple5(1, 0.1, "a", true, 2) v1, v2, v3, v4, v5 := t.Unbox() fmt.Printf("%v %v %v %v %v", v1, v2, v3, v4, v5)
Output: 1 0.1 a true 2
type Tuple6 ¶
type Tuple6[A any, B any, C any, D any, E any, F any] struct { FieldA A FieldB B FieldC C FieldD D FieldE E FieldF F }
Tuple6 represents a 6 elemnets tuple
func NewTuple6 ¶
func NewTuple6[A any, B any, C any, D any, E any, F any](a A, b B, c C, d D, e E, f F) Tuple6[A, B, C, D, E, F]
NewTuple6 creates a 6 elemnets tuple from a list of values. Play: https://go.dev/play/p/VjqcCwEJZbs
Example ¶
t := NewTuple6(1, 0.1, "a", true, 2, 2.2) fmt.Printf("%v %v %v %v %v %v", t.FieldA, t.FieldB, t.FieldC, t.FieldD, t.FieldE, t.FieldF)
Output: 1 0.1 a true 2 2.2
func Zip6 ¶
func Zip6[A any, B any, C any, D any, E any, F any](a []A, b []B, c []C, d []D, e []E, f []F) []Tuple6[A, B, C, D, E, F]
Zip6 create a slice of Tuple6, whose elements are correspond to the given slice elements. Play: https://go.dev/play/p/oWPrnUYuFHo
Example ¶
result := Zip6([]int{1}, []float64{0.1}, []string{"a"}, []bool{true}, []int{2}, []float32{2.2}) fmt.Println(result)
Output: [{1 0.1 a true 2 2.2}]
func (Tuple6[A, B, C, D, E, F]) Unbox ¶
func (t Tuple6[A, B, C, D, E, F]) Unbox() (A, B, C, D, E, F)
Unbox returns values in tuple. Play: https://go.dev/play/p/FjIHV7lpxmW
Example ¶
t := NewTuple6(1, 0.1, "a", true, 2, 2.2) v1, v2, v3, v4, v5, v6 := t.Unbox() fmt.Printf("%v %v %v %v %v %v", v1, v2, v3, v4, v5, v6)
Output: 1 0.1 a true 2 2.2
type Tuple7 ¶
type Tuple7[A any, B any, C any, D any, E any, F any, G any] struct { FieldA A FieldB B FieldC C FieldD D FieldE E FieldF F FieldG G }
Tuple7 represents a 7 elemnets tuple
func NewTuple7 ¶
func NewTuple7[A any, B any, C any, D any, E any, F any, G any](a A, b B, c C, d D, e E, f F, g G) Tuple7[A, B, C, D, E, F, G]
NewTuple7 creates a 7 elemnets tuple from a list of values. Play: https://go.dev/play/p/dzAgv_Ezub9
Example ¶
t := NewTuple7(1, 0.1, "a", true, 2, 2.2, "b") fmt.Printf("%v %v %v %v %v %v %v", t.FieldA, t.FieldB, t.FieldC, t.FieldD, t.FieldE, t.FieldF, t.FieldG)
Output: 1 0.1 a true 2 2.2 b
func Zip7 ¶
func Zip7[A any, B any, C any, D any, E any, F any, G any](a []A, b []B, c []C, d []D, e []E, f []F, g []G) []Tuple7[A, B, C, D, E, F, G]
Zip7 create a slice of Tuple7, whose elements are correspond to the given slice elements. Play: https://go.dev/play/p/WUJuo897Egf
Example ¶
result := Zip7([]int{1}, []float64{0.1}, []string{"a"}, []bool{true}, []int{2}, []float32{2.2}, []string{"b"}) fmt.Println(result)
Output: [{1 0.1 a true 2 2.2 b}]
func (Tuple7[A, B, C, D, E, F, G]) Unbox ¶
func (t Tuple7[A, B, C, D, E, F, G]) Unbox() (A, B, C, D, E, F, G)
Unbox returns values in tuple. Play: https://go.dev/play/p/R9I8qeDk0zs
Example ¶
t := NewTuple7(1, 0.1, "a", true, 2, 2.2, "b") v1, v2, v3, v4, v5, v6, v7 := t.Unbox() fmt.Printf("%v %v %v %v %v %v %v", v1, v2, v3, v4, v5, v6, v7)
Output: 1 0.1 a true 2 2.2 b
type Tuple8 ¶
type Tuple8[A any, B any, C any, D any, E any, F any, G any, H any] struct { FieldA A FieldB B FieldC C FieldD D FieldE E FieldF F FieldG G FieldH H }
Tuple8 represents a 8 elemnets tuple
func NewTuple8 ¶
func NewTuple8[A any, B any, C any, D any, E any, F any, G any, H any](a A, b B, c C, d D, e E, f F, g G, h H) Tuple8[A, B, C, D, E, F, G, H]
NewTuple8 creates a 8 elemnets tuple from a list of values. Play: https://go.dev/play/p/YA9S0rz3dRz
Example ¶
t := NewTuple8(1, 0.1, "a", true, 2, 2.2, "b", "c") fmt.Printf("%v %v %v %v %v %v %v %v", t.FieldA, t.FieldB, t.FieldC, t.FieldD, t.FieldE, t.FieldF, t.FieldG, t.FieldH)
Output: 1 0.1 a true 2 2.2 b c
func Zip8 ¶
func Zip8[A any, B any, C any, D any, E any, F any, G any, H any](a []A, b []B, c []C, d []D, e []E, f []F, g []G, h []H) []Tuple8[A, B, C, D, E, F, G, H]
Zip8 create a slice of Tuple8, whose elements are correspond to the given slice elements. Play: https://go.dev/play/p/8V9jWkuJfaQ
Example ¶
result := Zip8([]int{1}, []float64{0.1}, []string{"a"}, []bool{true}, []int{2}, []float32{2.2}, []string{"b"}, []string{"c"}) fmt.Println(result)
Output: [{1 0.1 a true 2 2.2 b c}]
func (Tuple8[A, B, C, D, E, F, G, H]) Unbox ¶
func (t Tuple8[A, B, C, D, E, F, G, H]) Unbox() (A, B, C, D, E, F, G, H)
Unbox returns values in tuple. Play: https://go.dev/play/p/PRxLBBb4SMl
Example ¶
t := NewTuple8(1, 0.1, "a", true, 2, 2.2, "b", "c") v1, v2, v3, v4, v5, v6, v7, v8 := t.Unbox() fmt.Printf("%v %v %v %v %v %v %v %v", v1, v2, v3, v4, v5, v6, v7, v8)
Output: 1 0.1 a true 2 2.2 b c
type Tuple9 ¶
type Tuple9[A any, B any, C any, D any, E any, F any, G any, H any, I any] struct { FieldA A FieldB B FieldC C FieldD D FieldE E FieldF F FieldG G FieldH H FieldI I }
Tuple9 represents a 9 elemnets tuple
func NewTuple9 ¶
func NewTuple9[A any, B any, C any, D any, E any, F any, G any, H any, I any](a A, b B, c C, d D, e E, f F, g G, h H, i I) Tuple9[A, B, C, D, E, F, G, H, I]
NewTuple9 creates a 9 elemnets tuple from a list of values. Play: https://go.dev/play/p/yS2NGGtZpQr
Example ¶
t := NewTuple9(1, 0.1, "a", true, 2, 2.2, "b", "c", map[string]int{"a": 1}) fmt.Printf("%v %v %v %v %v %v %v %v %v", t.FieldA, t.FieldB, t.FieldC, t.FieldD, t.FieldE, t.FieldF, t.FieldG, t.FieldH, t.FieldI)
Output: 1 0.1 a true 2 2.2 b c map[a:1]
func Zip9 ¶
func Zip9[A any, B any, C any, D any, E any, F any, G any, H any, I any](a []A, b []B, c []C, d []D, e []E, f []F, g []G, h []H, i []I) []Tuple9[A, B, C, D, E, F, G, H, I]
Zip9 create a slice of Tuple9, whose elements are correspond to the given slice elements. Play: https://go.dev/play/p/cgsL15QYnfz
Example ¶
result := Zip9([]int{1}, []float64{0.1}, []string{"a"}, []bool{true}, []int{2}, []float32{2.2}, []string{"b"}, []string{"c"}, []int64{3}) fmt.Println(result)
Output: [{1 0.1 a true 2 2.2 b c 3}]
func (Tuple9[A, B, C, D, E, F, G, H, I]) Unbox ¶
func (t Tuple9[A, B, C, D, E, F, G, H, I]) Unbox() (A, B, C, D, E, F, G, H, I)
Unbox returns values in tuple. Play: https://go.dev/play/p/oFJFGTAuOa8
Example ¶
t := NewTuple9(1, 0.1, "a", true, 2, 2.2, "b", "c", map[string]int{"a": 1}) v1, v2, v3, v4, v5, v6, v7, v8, v9 := t.Unbox() fmt.Printf("%v %v %v %v %v %v %v %v %v", v1, v2, v3, v4, v5, v6, v7, v8, v9)
Output: 1 0.1 a true 2 2.2 b c map[a:1]