github.com/enetx/g@v1.0.80/examples/main.go (about) 1 package main 2 3 import ( 4 "fmt" 5 6 "github.com/enetx/g" 7 "github.com/enetx/g/cmp" 8 ) 9 10 func main() { 11 // strings 12 str := g.NewString("") // declaration and assignation 13 14 str.Random(9).Print() 15 str.Hash().MD5().Print() 16 17 str = "test" 18 str.Comp().Flate().Decomp().Flate().Unwrap().Print() 19 20 g.NewString("12").ToInt().Ok().Print() 21 22 var jsonSet g.Set[int] 23 24 str.Enc().JSON(g.SetOf(1, 2, 3, 4)).Unwrap().Dec().JSON(&jsonSet).Unwrap() 25 26 fmt.Println(str.Decomp().Flate().Err()) 27 fmt.Println(str.Decomp().Flate().UnwrapOr("some value")) 28 // fmt.Println(str.Dec().Flate().Expect("some custom message on error")) 29 // fmt.Println(str.Dec().Flate().Unwrap()) 30 31 str = "*(&()&)(*&(*))" 32 fmt.Println(str.Dec().Base64().Err()) 33 fmt.Println(str.Dec().Base64().UnwrapOr("some value")) 34 // fmt.Println(str.Dec().Base64().Expect("some custom message on error")) 35 // fmt.Println(str.Dec().Base64().Unwrap()) 36 37 var str2 g.String = "rest" // declaration and assignation 38 39 fmt.Println(str2) 40 41 a := g.NewString("abc") 42 b := g.NewString("bbb") 43 c := g.NewString("ccc") 44 d := g.NewString("ddd") 45 e := g.NewString("eee") 46 47 str3 := a.ReplaceAll("a", "zzz").Upper().Fields().Collect().Random().Split("").Collect()[0].Lower().Std() 48 49 fmt.Println(str3) 50 51 // ints 52 n := g.NewInt(52452356235) // declaration and assignation 53 54 fmt.Printf("%v\n", n.Bytes()) 55 56 n.Hash().MD5().Print() 57 n.Hash().SHA1().Print() 58 n.Hash().SHA256().Print() 59 60 n.ToBinary().Print() 61 n.ToString().Print() 62 63 rn := g.NewInt(10).Random() 64 fmt.Println("random number: ", rn) 65 66 rrn := g.NewInt(10).RandomRange(100) 67 fmt.Println("random range number: ", rrn) 68 69 var n2 g.Int = 321 70 71 fmt.Println(n2) // declaration and assignation 72 73 n.Add(n2).Mul(3).Print() 74 75 // floats 76 77 fl := g.NewFloat(12.5456) 78 fl.Round().Print() // 13 79 80 // slices 81 sl := g.NewSlice[g.String]().Append(a, b, c, d, e) // declaration and assignation 82 83 sl.Shuffle() 84 85 fmt.Println(sl.Get(-1) == "eee") 86 fmt.Println(sl.Get(1) == "bbb") 87 fmt.Println(sl.Get(-2) == "ddd") 88 89 sl.Iter().Map(g.String.Upper).Collect().Print() 90 91 counter := sl.Append(sl...).Append("ddd").Iter().Counter().Collect() 92 93 counter.SortBy(func(a, b g.Pair[g.String, g.Int]) cmp.Ordering { 94 return b.Value.Cmp(a.Value).Then(a.Key.Cmp(b.Key)) 95 }) 96 97 counter.Print() // Output: MapOrd{ddd:3, abc:2, bbb:2, ccc:2, eee:2} 98 99 counter.Iter().ForEach(func(k g.String, v g.Int) { fmt.Println(k.Title(), ":", v) }) 100 101 sl.Iter().ForEach(func(v g.String) { v.Print() }) 102 103 sl = sl.Iter().Unique().Collect() 104 sl.Reverse() 105 106 sl = sl.Iter(). 107 Filter( 108 func(s g.String) bool { 109 return s != "bbb" 110 }). 111 Collect() 112 113 sl.Print() 114 115 fmt.Println(sl.Random()) 116 117 sl1 := g.SliceOf(1, 2, 3, 4, 5) // declaration and assignation 118 119 fmt.Println(sl1.Iter().Fold(0, func(index, value int) int { return index + value })) // 15 120 121 sl3 := g.Slice[g.String]{} // declaration and assignation 122 sl3 = sl3.Append("aaaaa", "bbbbb") 123 124 fmt.Println(sl3.Last().Count("b")) // 5 125 126 sl4 := g.SliceOf([]string{"root", "toor"}...).Random() 127 g.NewString(sl4).Upper().Print() 128 129 sl3.Iter().Map(func(s g.String) g.String { return s + "MAPMAPMAP" }).Collect().Print() 130 131 empsl := g.NewSlice[g.String]() 132 fmt.Println(empsl.Empty()) 133 134 // maps 135 m1 := g.MapFromStd(map[int]string{1: "root", 22: "toor"}) // declaration and assignation 136 m1.Iter().Values().Collect().Print() 137 m1.Iter().Keys().Collect().Print() 138 139 m2 := g.NewMap[int, string]() // declaration and assignation 140 141 m2[99] = "AAA" 142 m2[88] = "BBB" 143 m2.Set(77, "CCC") 144 145 m2.Delete(99).Print() 146 m2.Iter().Keys().Collect().Print() 147 148 m2.Print() 149 fmt.Println(m2.Std()) 150 151 fmt.Println(m2.Invert().Iter().Values().Collect().Get(0)) // return int type 152 fmt.Println(m2.Invert().Iter().Keys().Collect().Get(0).(string)) // return any type, need assert to type 153 154 m3 := g.Map[string, string]{"test": "rest"} // declaration and assignation 155 fmt.Println(m3.Contains("test")) 156 157 ub := g.NewBytes("abcdef\u0301\u031dg") 158 ub.NormalizeNFC().Reverse().Print() 159 160 g.NewString("abcde丂g").Reverse().Print() 161 162 l := g.String("hello") 163 l.Similarity("world").Print() 164 165 hbs := g.Bytes("Hello, 世界!") 166 hbs.Reverse().ToString().Print() // "!界世 ,olleH" 167 168 hbs = g.Bytes("hello, world!") 169 170 hbs.Replace([]byte("l"), []byte("L"), 2).ToString().Print() // "heLLo, world!" 171 172 hs1 := g.String("kitten") 173 hs2 := g.String("sitting") 174 similarity := hs1.Similarity(hs2) // g.Float(57.14285714285714) 175 176 similarity.Print() 177 178 g.NewString("á").Dec().HTML().Print() 179 180 to := g.String("Hello, 世界!") 181 182 to.Enc().Hex().Print() 183 to.Enc().Hex().Dec().Hex().Unwrap().Print() 184 185 to.Enc().Octal().Print() 186 to.Enc().Octal().Dec().Octal().Unwrap().Print() 187 188 to.Enc().Binary().Chunks(8).Join(" ").Print() 189 to.Enc().Binary().Dec().Binary().Unwrap().Print() 190 191 toi := g.Int(1234567890) 192 193 toi.ToBinary().Print() 194 toi.ToOctal().Print() 195 toi.ToHex().Print() 196 197 ascii := g.String("💛💚💙💜") 198 fmt.Println(ascii.IsASCII()) 199 200 reg := g.NewString("some text") 201 fmt.Println(reg.ContainsRegexp(`\w+`).Unwrap()) 202 203 fmt.Println(g.String("example.com").EndsWith(".com", ".net")) 204 205 g.NewString("Hello").Format("%s world").Print() 206 }