github.com/gogf/gf/v2@v2.7.4/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/gogf/gf.
     6  
     7  package gset_test
     8  
     9  import (
    10  	"fmt"
    11  
    12  	"github.com/gogf/gf/v2/container/gset"
    13  	"github.com/gogf/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  }