github.com/wangyougui/gf/v2@v2.6.5/container/gset/gset_z_example_any_test.go (about) 1 // Copyright GoFrame Author(https://goframe.org). All Rights Reserved. 2 // 3 // This Source Code Form is subject to the terms of the MIT License. 4 // If a copy of the MIT was not distributed with gm file, 5 // You can obtain one at https://github.com/wangyougui/gf. 6 7 package gset_test 8 9 import ( 10 "fmt" 11 12 "github.com/wangyougui/gf/v2/container/gset" 13 "github.com/wangyougui/gf/v2/frame/g" 14 ) 15 16 func ExampleSet_Intersect() { 17 s1 := gset.NewFrom(g.Slice{1, 2, 3}) 18 s2 := gset.NewFrom(g.Slice{4, 5, 6}) 19 s3 := gset.NewFrom(g.Slice{1, 2, 3, 4, 5, 6, 7}) 20 21 fmt.Println(s3.Intersect(s1).Slice()) 22 fmt.Println(s3.Diff(s1).Slice()) 23 fmt.Println(s1.Union(s2).Slice()) 24 fmt.Println(s1.Complement(s3).Slice()) 25 26 // May Output: 27 // [2 3 1] 28 // [5 6 7 4] 29 // [6 1 2 3 4 5] 30 // [4 5 6 7] 31 } 32 33 func ExampleSet_Diff() { 34 s1 := gset.NewFrom(g.Slice{1, 2, 3}) 35 s2 := gset.NewFrom(g.Slice{4, 5, 6}) 36 s3 := gset.NewFrom(g.Slice{1, 2, 3, 4, 5, 6, 7}) 37 38 fmt.Println(s3.Intersect(s1).Slice()) 39 fmt.Println(s3.Diff(s1).Slice()) 40 fmt.Println(s1.Union(s2).Slice()) 41 fmt.Println(s1.Complement(s3).Slice()) 42 43 // May Output: 44 // [2 3 1] 45 // [5 6 7 4] 46 // [6 1 2 3 4 5] 47 // [4 5 6 7] 48 } 49 50 func ExampleSet_Union() { 51 s1 := gset.NewFrom(g.Slice{1, 2, 3}) 52 s2 := gset.NewFrom(g.Slice{4, 5, 6}) 53 s3 := gset.NewFrom(g.Slice{1, 2, 3, 4, 5, 6, 7}) 54 55 fmt.Println(s3.Intersect(s1).Slice()) 56 fmt.Println(s3.Diff(s1).Slice()) 57 fmt.Println(s1.Union(s2).Slice()) 58 fmt.Println(s1.Complement(s3).Slice()) 59 60 // May Output: 61 // [2 3 1] 62 // [5 6 7 4] 63 // [6 1 2 3 4 5] 64 // [4 5 6 7] 65 } 66 67 func ExampleSet_Complement() { 68 s1 := gset.NewFrom(g.Slice{1, 2, 3}) 69 s2 := gset.NewFrom(g.Slice{4, 5, 6}) 70 s3 := gset.NewFrom(g.Slice{1, 2, 3, 4, 5, 6, 7}) 71 72 fmt.Println(s3.Intersect(s1).Slice()) 73 fmt.Println(s3.Diff(s1).Slice()) 74 fmt.Println(s1.Union(s2).Slice()) 75 fmt.Println(s1.Complement(s3).Slice()) 76 77 // May Output: 78 // [2 3 1] 79 // [5 6 7 4] 80 // [6 1 2 3 4 5] 81 // [4 5 6 7] 82 } 83 84 func ExampleSet_IsSubsetOf() { 85 var s1, s2 gset.Set 86 s1.Add(g.Slice{1, 2, 3}...) 87 s2.Add(g.Slice{2, 3}...) 88 fmt.Println(s1.IsSubsetOf(&s2)) 89 fmt.Println(s2.IsSubsetOf(&s1)) 90 91 // Output: 92 // false 93 // true 94 } 95 96 func ExampleSet_AddIfNotExist() { 97 var set gset.Set 98 fmt.Println(set.AddIfNotExist(1)) 99 fmt.Println(set.AddIfNotExist(1)) 100 fmt.Println(set.Slice()) 101 102 // Output: 103 // true 104 // false 105 // [1] 106 } 107 108 func ExampleSet_Pop() { 109 var set gset.Set 110 set.Add(1, 2, 3, 4) 111 fmt.Println(set.Pop()) 112 fmt.Println(set.Pops(2)) 113 fmt.Println(set.Size()) 114 115 // May Output: 116 // 1 117 // [2 3] 118 // 1 119 } 120 121 func ExampleSet_Pops() { 122 var set gset.Set 123 set.Add(1, 2, 3, 4) 124 fmt.Println(set.Pop()) 125 fmt.Println(set.Pops(2)) 126 fmt.Println(set.Size()) 127 128 // May Output: 129 // 1 130 // [2 3] 131 // 1 132 } 133 134 func ExampleSet_Join() { 135 var set gset.Set 136 set.Add("a", "b", "c", "d") 137 fmt.Println(set.Join(",")) 138 139 // May Output: 140 // a,b,c,d 141 } 142 143 func ExampleSet_Contains() { 144 var set gset.StrSet 145 set.Add("a") 146 fmt.Println(set.Contains("a")) 147 fmt.Println(set.Contains("A")) 148 fmt.Println(set.ContainsI("A")) 149 150 // Output: 151 // true 152 // false 153 // true 154 } 155 156 func ExampleSet_ContainsI() { 157 var set gset.StrSet 158 set.Add("a") 159 fmt.Println(set.Contains("a")) 160 fmt.Println(set.Contains("A")) 161 fmt.Println(set.ContainsI("A")) 162 163 // Output: 164 // true 165 // false 166 // true 167 }