github.com/gogf/gf/v2@v2.7.4/container/garray/garray_z_example_normal_int_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 this file,
     5  // You can obtain one at https://github.com/gogf/gf.
     6  
     7  package garray_test
     8  
     9  import (
    10  	"fmt"
    11  
    12  	"github.com/gogf/gf/v2/internal/empty"
    13  
    14  	"github.com/gogf/gf/v2/container/garray"
    15  	"github.com/gogf/gf/v2/frame/g"
    16  	"github.com/gogf/gf/v2/internal/json"
    17  	"github.com/gogf/gf/v2/util/gconv"
    18  )
    19  
    20  func ExampleIntArray_Walk() {
    21  	var array garray.IntArray
    22  	tables := g.SliceInt{10, 20}
    23  	prefix := 99
    24  	array.Append(tables...)
    25  	// Add prefix for given table names.
    26  	array.Walk(func(value int) int {
    27  		return prefix + value
    28  	})
    29  	fmt.Println(array.Slice())
    30  
    31  	// Output:
    32  	// [109 119]
    33  }
    34  
    35  func ExampleNewIntArray() {
    36  	s := garray.NewIntArray()
    37  	s.Append(10)
    38  	s.Append(20)
    39  	s.Append(15)
    40  	s.Append(30)
    41  	fmt.Println(s.Slice())
    42  
    43  	// Output:
    44  	// [10 20 15 30]
    45  }
    46  
    47  func ExampleNewIntArraySize() {
    48  	s := garray.NewIntArraySize(3, 5)
    49  	s.Set(0, 10)
    50  	s.Set(1, 20)
    51  	s.Set(2, 15)
    52  	s.Set(3, 30)
    53  	fmt.Println(s.Slice(), s.Len(), cap(s.Slice()))
    54  
    55  	// Output:
    56  	// [10 20 15] 3 5
    57  }
    58  
    59  func ExampleNewIntArrayRange() {
    60  	s := garray.NewIntArrayRange(1, 5, 1)
    61  	fmt.Println(s.Slice(), s.Len(), cap(s.Slice()))
    62  
    63  	// Output:
    64  	// [1 2 3 4 5] 5 8
    65  }
    66  
    67  func ExampleNewIntArrayFrom() {
    68  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30})
    69  	fmt.Println(s.Slice(), s.Len(), cap(s.Slice()))
    70  
    71  	// Output:
    72  	// [10 20 15 30] 4 4
    73  }
    74  
    75  func ExampleNewIntArrayFromCopy() {
    76  	s := garray.NewIntArrayFromCopy(g.SliceInt{10, 20, 15, 30})
    77  	fmt.Println(s.Slice(), s.Len(), cap(s.Slice()))
    78  
    79  	// Output:
    80  	// [10 20 15 30] 4 4
    81  }
    82  
    83  func ExampleIntArray_At() {
    84  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30})
    85  	sAt := s.At(2)
    86  	fmt.Println(sAt)
    87  
    88  	// Output:
    89  	// 15
    90  }
    91  
    92  func ExampleIntArray_Get() {
    93  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30})
    94  	sGet, sBool := s.Get(3)
    95  	fmt.Println(sGet, sBool)
    96  	sGet, sBool = s.Get(99)
    97  	fmt.Println(sGet, sBool)
    98  
    99  	// Output:
   100  	// 30 true
   101  	// 0 false
   102  }
   103  
   104  func ExampleIntArray_Set() {
   105  	s := garray.NewIntArraySize(3, 5)
   106  	s.Set(0, 10)
   107  	s.Set(1, 20)
   108  	s.Set(2, 15)
   109  	s.Set(3, 30)
   110  	fmt.Println(s.Slice())
   111  
   112  	// Output:
   113  	// [10 20 15]
   114  }
   115  
   116  func ExampleIntArray_SetArray() {
   117  	s := garray.NewIntArray()
   118  	s.SetArray(g.SliceInt{10, 20, 15, 30})
   119  	fmt.Println(s.Slice())
   120  
   121  	// Output:
   122  	// [10 20 15 30]
   123  }
   124  
   125  func ExampleIntArray_Replace() {
   126  	s := garray.NewIntArray()
   127  	s.SetArray(g.SliceInt{10, 20, 15, 30})
   128  	fmt.Println(s.Slice())
   129  	s.Replace(g.SliceInt{12, 13})
   130  	fmt.Println(s.Slice())
   131  
   132  	// Output:
   133  	// [10 20 15 30]
   134  	// [12 13 15 30]
   135  }
   136  
   137  func ExampleIntArray_Sum() {
   138  	s := garray.NewIntArray()
   139  	s.SetArray(g.SliceInt{10, 20, 15, 30})
   140  	a := s.Sum()
   141  	fmt.Println(a)
   142  
   143  	// Output:
   144  	// 75
   145  }
   146  
   147  func ExampleIntArray_Sort() {
   148  	s := garray.NewIntArray()
   149  	s.SetArray(g.SliceInt{10, 20, 15, 30})
   150  	a := s.Sort()
   151  	fmt.Println(a)
   152  
   153  	// Output:
   154  	// [10,15,20,30]
   155  }
   156  
   157  func ExampleIntArray_SortFunc() {
   158  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30})
   159  	fmt.Println(s)
   160  	s.SortFunc(func(v1, v2 int) bool {
   161  		// fmt.Println(v1,v2)
   162  		return v1 > v2
   163  	})
   164  	fmt.Println(s)
   165  	s.SortFunc(func(v1, v2 int) bool {
   166  		return v1 < v2
   167  	})
   168  	fmt.Println(s)
   169  
   170  	// Output:
   171  	// [10,20,15,30]
   172  	// [30,20,15,10]
   173  	// [10,15,20,30]
   174  }
   175  
   176  func ExampleIntArray_InsertBefore() {
   177  	s := garray.NewIntArray()
   178  	s.SetArray(g.SliceInt{10, 20, 15, 30})
   179  	s.InsertBefore(1, 99)
   180  	fmt.Println(s.Slice())
   181  
   182  	// Output:
   183  	// [10 99 20 15 30]
   184  }
   185  
   186  func ExampleIntArray_InsertAfter() {
   187  	s := garray.NewIntArray()
   188  	s.SetArray(g.SliceInt{10, 20, 15, 30})
   189  	s.InsertAfter(1, 99)
   190  	fmt.Println(s.Slice())
   191  
   192  	// Output:
   193  	// [10 20 99 15 30]
   194  }
   195  
   196  func ExampleIntArray_Remove() {
   197  	s := garray.NewIntArray()
   198  	s.SetArray(g.SliceInt{10, 20, 15, 30})
   199  	fmt.Println(s)
   200  	s.Remove(1)
   201  	fmt.Println(s.Slice())
   202  
   203  	// Output:
   204  	// [10,20,15,30]
   205  	// [10 15 30]
   206  }
   207  
   208  func ExampleIntArray_RemoveValue() {
   209  	s := garray.NewIntArray()
   210  	s.SetArray(g.SliceInt{10, 20, 15, 30})
   211  	fmt.Println(s)
   212  	s.RemoveValue(20)
   213  	fmt.Println(s.Slice())
   214  
   215  	// Output:
   216  	// [10,20,15,30]
   217  	// [10 15 30]
   218  }
   219  
   220  func ExampleIntArray_PushLeft() {
   221  	s := garray.NewIntArray()
   222  	s.SetArray(g.SliceInt{10, 20, 15, 30})
   223  	fmt.Println(s)
   224  	s.PushLeft(96, 97, 98, 99)
   225  	fmt.Println(s.Slice())
   226  
   227  	// Output:
   228  	// [10,20,15,30]
   229  	// [96 97 98 99 10 20 15 30]
   230  }
   231  
   232  func ExampleIntArray_PushRight() {
   233  	s := garray.NewIntArray()
   234  	s.SetArray(g.SliceInt{10, 20, 15, 30})
   235  	fmt.Println(s)
   236  	s.PushRight(96, 97, 98, 99)
   237  	fmt.Println(s.Slice())
   238  
   239  	// Output:
   240  	// [10,20,15,30]
   241  	// [10 20 15 30 96 97 98 99]
   242  }
   243  
   244  func ExampleIntArray_PopLeft() {
   245  	s := garray.NewIntArray()
   246  	s.SetArray(g.SliceInt{10, 20, 15, 30})
   247  	fmt.Println(s)
   248  	s.PopLeft()
   249  	fmt.Println(s.Slice())
   250  
   251  	// Output:
   252  	// [10,20,15,30]
   253  	// [20 15 30]
   254  }
   255  
   256  func ExampleIntArray_PopRight() {
   257  	s := garray.NewIntArray()
   258  	s.SetArray(g.SliceInt{10, 20, 15, 30})
   259  	fmt.Println(s)
   260  	s.PopRight()
   261  	fmt.Println(s.Slice())
   262  
   263  	// Output:
   264  	// [10,20,15,30]
   265  	// [10 20 15]
   266  }
   267  
   268  func ExampleIntArray_PopRand() {
   269  	s := garray.NewIntArray()
   270  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60, 70})
   271  	fmt.Println(s)
   272  	r, _ := s.PopRand()
   273  	fmt.Println(s)
   274  	fmt.Println(r)
   275  
   276  	// May Output:
   277  	// [10,20,15,30,40,50,60,70]
   278  	// [10,20,15,30,40,60,70]
   279  	// 50
   280  }
   281  
   282  func ExampleIntArray_PopRands() {
   283  	s := garray.NewIntArray()
   284  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   285  	fmt.Println(s)
   286  	r := s.PopRands(2)
   287  	fmt.Println(s)
   288  	fmt.Println(r)
   289  
   290  	// May Output:
   291  	// [10,20,15,30,40,50,60]
   292  	// [10,20,15,30,40]
   293  	// [50 60]
   294  }
   295  
   296  func ExampleIntArray_PopLefts() {
   297  	s := garray.NewIntArray()
   298  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   299  	fmt.Println(s)
   300  	r := s.PopLefts(2)
   301  	fmt.Println(s)
   302  	fmt.Println(r)
   303  
   304  	// Output:
   305  	// [10,20,15,30,40,50,60]
   306  	// [15,30,40,50,60]
   307  	// [10 20]
   308  }
   309  
   310  func ExampleIntArray_PopRights() {
   311  	s := garray.NewIntArray()
   312  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   313  	fmt.Println(s)
   314  	r := s.PopRights(2)
   315  	fmt.Println(s)
   316  	fmt.Println(r)
   317  
   318  	// Output:
   319  	// [10,20,15,30,40,50,60]
   320  	// [10,20,15,30,40]
   321  	// [50 60]
   322  }
   323  
   324  func ExampleIntArray_Range() {
   325  	s := garray.NewIntArray()
   326  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   327  	fmt.Println(s)
   328  	r := s.Range(2, 5)
   329  	fmt.Println(r)
   330  
   331  	// Output:
   332  	// [10,20,15,30,40,50,60]
   333  	// [15 30 40]
   334  }
   335  
   336  func ExampleIntArray_SubSlice() {
   337  	s := garray.NewIntArray()
   338  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   339  	fmt.Println(s)
   340  	r := s.SubSlice(3, 4)
   341  	fmt.Println(r)
   342  
   343  	// Output:
   344  	// [10,20,15,30,40,50,60]
   345  	// [30 40 50 60]
   346  }
   347  
   348  func ExampleIntArray_Append() {
   349  	s := garray.NewIntArray()
   350  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   351  	fmt.Println(s)
   352  	s.Append(96, 97, 98)
   353  	fmt.Println(s)
   354  
   355  	// Output:
   356  	// [10,20,15,30,40,50,60]
   357  	// [10,20,15,30,40,50,60,96,97,98]
   358  }
   359  
   360  func ExampleIntArray_Len() {
   361  	s := garray.NewIntArray()
   362  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   363  	fmt.Println(s)
   364  	fmt.Println(s.Len())
   365  
   366  	// Output:
   367  	// [10,20,15,30,40,50,60]
   368  	// 7
   369  }
   370  
   371  func ExampleIntArray_Slice() {
   372  	s := garray.NewIntArray()
   373  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   374  	fmt.Println(s.Slice())
   375  
   376  	// Output:
   377  	// [10 20 15 30 40 50 60]
   378  }
   379  
   380  func ExampleIntArray_Interfaces() {
   381  	s := garray.NewIntArray()
   382  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   383  	r := s.Interfaces()
   384  	fmt.Println(r)
   385  
   386  	// Output:
   387  	// [10 20 15 30 40 50 60]
   388  }
   389  
   390  func ExampleIntArray_Clone() {
   391  	s := garray.NewIntArray()
   392  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   393  	fmt.Println(s)
   394  	r := s.Clone()
   395  	fmt.Println(r)
   396  
   397  	// Output:
   398  	// [10,20,15,30,40,50,60]
   399  	// [10,20,15,30,40,50,60]
   400  }
   401  
   402  func ExampleIntArray_Clear() {
   403  	s := garray.NewIntArray()
   404  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   405  	fmt.Println(s)
   406  	fmt.Println(s.Clear())
   407  	fmt.Println(s)
   408  
   409  	// Output:
   410  	// [10,20,15,30,40,50,60]
   411  	// []
   412  	// []
   413  }
   414  
   415  func ExampleIntArray_Contains() {
   416  	s := garray.NewIntArray()
   417  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   418  	fmt.Println(s.Contains(20))
   419  	fmt.Println(s.Contains(21))
   420  
   421  	// Output:
   422  	// true
   423  	// false
   424  }
   425  
   426  func ExampleIntArray_Search() {
   427  	s := garray.NewIntArray()
   428  	s.SetArray(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   429  	fmt.Println(s.Search(20))
   430  	fmt.Println(s.Search(21))
   431  
   432  	// Output:
   433  	// 1
   434  	// -1
   435  }
   436  
   437  func ExampleIntArray_Unique() {
   438  	s := garray.NewIntArray()
   439  	s.SetArray(g.SliceInt{10, 20, 15, 15, 20, 50, 60})
   440  	fmt.Println(s)
   441  	fmt.Println(s.Unique())
   442  
   443  	// Output:
   444  	// [10,20,15,15,20,50,60]
   445  	// [10,20,15,50,60]
   446  }
   447  
   448  func ExampleIntArray_LockFunc() {
   449  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   450  	s.LockFunc(func(array []int) {
   451  		for i := 0; i < len(array)-1; i++ {
   452  			fmt.Println(array[i])
   453  		}
   454  	})
   455  
   456  	// Output:
   457  	// 10
   458  	// 20
   459  	// 15
   460  	// 30
   461  	// 40
   462  	// 50
   463  }
   464  
   465  func ExampleIntArray_RLockFunc() {
   466  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   467  	s.RLockFunc(func(array []int) {
   468  		for i := 0; i < len(array); i++ {
   469  			fmt.Println(array[i])
   470  		}
   471  	})
   472  
   473  	// Output:
   474  	// 10
   475  	// 20
   476  	// 15
   477  	// 30
   478  	// 40
   479  	// 50
   480  	// 60
   481  }
   482  
   483  func ExampleIntArray_Merge() {
   484  	s1 := garray.NewIntArray()
   485  	s2 := garray.NewIntArray()
   486  	s1.SetArray(g.SliceInt{10, 20, 15})
   487  	s2.SetArray(g.SliceInt{40, 50, 60})
   488  	fmt.Println(s1)
   489  	fmt.Println(s2)
   490  	s1.Merge(s2)
   491  	fmt.Println(s1)
   492  
   493  	// Output:
   494  	// [10,20,15]
   495  	// [40,50,60]
   496  	// [10,20,15,40,50,60]
   497  }
   498  
   499  func ExampleIntArray_Fill() {
   500  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   501  	fmt.Println(s)
   502  	s.Fill(2, 3, 99)
   503  	fmt.Println(s)
   504  
   505  	// Output:
   506  	// [10,20,15,30,40,50,60]
   507  	// [10,20,99,99,99,50,60]
   508  }
   509  
   510  func ExampleIntArray_Chunk() {
   511  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   512  	fmt.Println(s)
   513  	r := s.Chunk(3)
   514  	fmt.Println(r)
   515  
   516  	// Output:
   517  	// [10,20,15,30,40,50,60]
   518  	// [[10 20 15] [30 40 50] [60]]
   519  }
   520  
   521  func ExampleIntArray_Pad() {
   522  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   523  	s.Pad(8, 99)
   524  	fmt.Println(s)
   525  	s.Pad(-10, 89)
   526  	fmt.Println(s)
   527  
   528  	// Output:
   529  	// [10,20,15,30,40,50,60,99]
   530  	// [89,89,10,20,15,30,40,50,60,99]
   531  }
   532  
   533  func ExampleIntArray_Rand() {
   534  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   535  	fmt.Println(s)
   536  	fmt.Println(s.Rand())
   537  
   538  	// May Output:
   539  	// [10,20,15,30,40,50,60]
   540  	// 10 true
   541  }
   542  
   543  func ExampleIntArray_Rands() {
   544  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   545  	fmt.Println(s)
   546  	fmt.Println(s.Rands(3))
   547  
   548  	// May Output:
   549  	// [10,20,15,30,40,50,60]
   550  	// [20 50 20]
   551  }
   552  
   553  func ExampleIntArray_Shuffle() {
   554  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   555  	fmt.Println(s)
   556  	fmt.Println(s.Shuffle())
   557  
   558  	// May Output:
   559  	// [10,20,15,30,40,50,60]
   560  	// [10,40,15,50,20,60,30]
   561  }
   562  
   563  func ExampleIntArray_Reverse() {
   564  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   565  	fmt.Println(s)
   566  	fmt.Println(s.Reverse())
   567  
   568  	// Output:
   569  	// [10,20,15,30,40,50,60]
   570  	// [60,50,40,30,15,20,10]
   571  }
   572  
   573  func ExampleIntArray_Join() {
   574  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   575  	fmt.Println(s)
   576  	fmt.Println(s.Join(","))
   577  
   578  	// Output:
   579  	// [10,20,15,30,40,50,60]
   580  	// 10,20,15,30,40,50,60
   581  }
   582  
   583  func ExampleIntArray_CountValues() {
   584  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 15, 40, 40, 40})
   585  	fmt.Println(s.CountValues())
   586  
   587  	// Output:
   588  	// map[10:1 15:2 20:1 40:3]
   589  }
   590  
   591  func ExampleIntArray_Iterator() {
   592  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   593  	s.Iterator(func(k int, v int) bool {
   594  		fmt.Println(k, v)
   595  		return true
   596  	})
   597  
   598  	// Output:
   599  	// 0 10
   600  	// 1 20
   601  	// 2 15
   602  	// 3 30
   603  	// 4 40
   604  	// 5 50
   605  	// 6 60
   606  }
   607  
   608  func ExampleIntArray_IteratorAsc() {
   609  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   610  	s.IteratorAsc(func(k int, v int) bool {
   611  		fmt.Println(k, v)
   612  		return true
   613  	})
   614  
   615  	// Output:
   616  	// 0 10
   617  	// 1 20
   618  	// 2 15
   619  	// 3 30
   620  	// 4 40
   621  	// 5 50
   622  	// 6 60
   623  }
   624  
   625  func ExampleIntArray_IteratorDesc() {
   626  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   627  	s.IteratorDesc(func(k int, v int) bool {
   628  		fmt.Println(k, v)
   629  		return true
   630  	})
   631  
   632  	// Output:
   633  	// 6 60
   634  	// 5 50
   635  	// 4 40
   636  	// 3 30
   637  	// 2 15
   638  	// 1 20
   639  	// 0 10
   640  }
   641  
   642  func ExampleIntArray_String() {
   643  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   644  	fmt.Println(s)
   645  	fmt.Println(s.String())
   646  
   647  	// Output:
   648  	// [10,20,15,30,40,50,60]
   649  	// [10,20,15,30,40,50,60]
   650  }
   651  
   652  func ExampleIntArray_MarshalJSON() {
   653  	type Student struct {
   654  		Id     int
   655  		Name   string
   656  		Scores garray.IntArray
   657  	}
   658  	var array garray.IntArray
   659  	array.SetArray(g.SliceInt{98, 97, 96})
   660  	s := Student{
   661  		Id:     1,
   662  		Name:   "john",
   663  		Scores: array,
   664  	}
   665  	b, _ := json.Marshal(s)
   666  	fmt.Println(string(b))
   667  
   668  	// Output:
   669  	// {"Id":1,"Name":"john","Scores":[98,97,96]}
   670  }
   671  
   672  func ExampleIntArray_UnmarshalJSON() {
   673  	b := []byte(`{"Id":1,"Name":"john","Scores":[98,96,97]}`)
   674  	type Student struct {
   675  		Id     int
   676  		Name   string
   677  		Scores *garray.IntArray
   678  	}
   679  	s := Student{}
   680  	json.Unmarshal(b, &s)
   681  	fmt.Println(s)
   682  
   683  	// Output:
   684  	// {1 john [98,96,97]}
   685  }
   686  
   687  func ExampleIntArray_UnmarshalValue() {
   688  	type Student struct {
   689  		Name   string
   690  		Scores *garray.IntArray
   691  	}
   692  
   693  	var s *Student
   694  	gconv.Struct(g.Map{
   695  		"name":   "john",
   696  		"scores": g.SliceInt{96, 98, 97},
   697  	}, &s)
   698  	fmt.Println(s)
   699  
   700  	// Output:
   701  	// &{john [96,98,97]}
   702  }
   703  
   704  func ExampleIntArray_Filter() {
   705  	array1 := garray.NewIntArrayFrom(g.SliceInt{10, 40, 50, 0, 0, 0, 60})
   706  	array2 := garray.NewIntArrayFrom(g.SliceInt{10, 4, 51, 5, 45, 50, 56})
   707  	fmt.Println(array1.Filter(func(index int, value int) bool {
   708  		return empty.IsEmpty(value)
   709  	}))
   710  	fmt.Println(array2.Filter(func(index int, value int) bool {
   711  		return value%2 == 0
   712  	}))
   713  	fmt.Println(array2.Filter(func(index int, value int) bool {
   714  		return value%2 == 1
   715  	}))
   716  
   717  	// Output:
   718  	// [10,40,50,60]
   719  	// [51,5,45]
   720  	// []
   721  }
   722  
   723  func ExampleIntArray_FilterEmpty() {
   724  	s := garray.NewIntArrayFrom(g.SliceInt{10, 40, 50, 0, 0, 0, 60})
   725  	fmt.Println(s)
   726  	fmt.Println(s.FilterEmpty())
   727  
   728  	// Output:
   729  	// [10,40,50,0,0,0,60]
   730  	// [10,40,50,60]
   731  }
   732  
   733  func ExampleIntArray_IsEmpty() {
   734  	s := garray.NewIntArrayFrom(g.SliceInt{10, 20, 15, 30, 40, 50, 60})
   735  	fmt.Println(s.IsEmpty())
   736  	s1 := garray.NewIntArray()
   737  	fmt.Println(s1.IsEmpty())
   738  
   739  	// Output:
   740  	// false
   741  	// true
   742  }