github.com/PandaGoAdmin/utils@v0.0.0-20211208134815-d5461603a00f/docs/changelog.md (about) 1 # Changelog 2 3 All notable changes to this project will be documented in this file. 4 5 ## [v0.1.9]- 2021-11-27 6 7 #### Added 8 9 - 新增`IsPointer`检查变量是否指针类型 10 11 #### Fixed 12 13 - none 14 15 #### Changed 16 17 - none 18 19 #### Removed 20 21 - none 22 23 ## [v0.1.8]- 2021-11-08 24 25 #### Added 26 27 - none 28 29 #### Fixed 30 31 - 修复`KDbug.DumpPrint`打印多变量问题 32 - 修改`KStr.Ucwords`因go1.18废弃strings.Title,使用cases.Title代替 33 34 #### Changed 35 36 - none 37 38 #### Removed 39 40 - none 41 42 ## [v0.1.7]- 2021-10-15 43 44 #### Added 45 46 - none 47 48 #### Fixed 49 50 - 修复`KEncr.AuthCode`中keyb变化问题 51 52 #### Changed 53 54 - none 55 56 #### Removed 57 58 - none 59 60 ## [v0.1.6]- 2021-8-21 61 62 #### Added 63 64 - 新增`KNum.NearLogarithm`,求对数临近值 65 - 新增`KNum.SplitNaturalNum`,将自然数按底数拆解 66 67 #### Fixed 68 69 - none 70 71 #### Changed 72 73 - none 74 75 #### Removed 76 77 - none 78 79 ## [v0.1.5]- 2021-6-11 80 81 - 重构版本,改动太多,懒得整理,就不再一一列出 82 83 ## [v0.1.4]- 2020-12-1 84 85 #### Added 86 87 - 新增`KArr.ArrayIntersect`,求数组交集 88 - 新增`KArr.DeleteSliceItems`,删除切片多个元素 89 - 新增`KFile.FormatPath`,格式化路径 90 - 新增`KNum.IsNaturalRange`,是否自然数数组 91 - 新增`KNum.Log`,求任意底数的对数 92 93 #### Fixed 94 95 - 修改`KNum.IsNatural`,自然数包含0 96 97 #### Changed 98 99 - 修改`KArr.ArrayDiff`,增加比较方式参数`compareType`,返回字典 100 - 修改`KFile.FormatDir`,过滤特殊字符 101 - 修改`KNum.IsNan`,接收任意类型参数 102 - 修改`KNum.NumSign`,结果类型为int8 103 - 修改`KNum.Range`,支持生成降序的数组 104 105 #### Removed 106 107 - none 108 109 ## [v0.1.3]- 2020-11-11 110 111 #### Added 112 113 - none 114 115 #### Fixed 116 117 - none 118 119 #### Changed 120 121 - 修改`KStr.Chr`,使用rune转换字符码 122 - 修改`KDbug.CallMethod`错误提示 123 124 #### Removed 125 126 - none 127 128 ## [v0.1.2]- 2020-06-25 129 130 #### Added 131 132 - `KStr.Md5Byte` 133 - `KStr.ShaXByte` 134 135 #### Fixed 136 137 - none 138 139 #### Changed 140 141 - rename `md5Str` to `md5Byte` 142 - rename `shaXStr` to `shaXByte` 143 144 #### Removed 145 146 - none 147 148 ## [v0.1.1]- 2020-06-23 149 150 #### Added 151 152 - `KStr.Serialize` 153 - `KStr.UnSerialize` 154 - `KStr.TrimBOM` 155 156 #### Fixed 157 158 - none 159 160 #### Changed 161 162 - none 163 164 #### Removed 165 166 - none 167 168 ## [v0.1.0]- 2020-06-22 169 170 #### Added 171 172 - none 173 174 #### Fixed 175 176 - none 177 178 #### Changed 179 180 - 修改`KTime.Str2Timestruct`使用本地时区而非UTC 181 182 #### Removed 183 184 - none 185 186 ## [v0.0.9]- 2020-06-20 187 188 #### Added 189 190 - none 191 192 #### Fixed 193 194 - none 195 196 #### Changed 197 198 - 修改`KEncr.Base64Encode`结果类型为[]byte 199 - 修改`KEncr.Base64Decode`参数类型为[]byte 200 - 修改`KEncr.Base64UrlEncode`结果类型为[]byte 201 - 修改`KEncr.Base64UrlDecode`结果类型为[]byte 202 - 修改`KEncr.AuthCode`参数和结果类型为[]byte 203 - 修改`KEncr.EasyEncrypt`参数和结果类型为[]byte 204 - 修改`KEncr.EasyDecrypt`参数和结果类型为[]byte 205 - 修改`KEncr.HmacShaX`结果类型为[]byte 206 207 #### Removed 208 209 - none 210 211 ## [v0.0.8]- 2020-05-31 212 213 #### Added 214 215 - none 216 217 #### Fixed 218 219 - none 220 221 #### Changed 222 223 - `KOS.GetSystemInfo`增加`SystemOs`操作系统名称字段 224 225 #### Removed 226 227 - none 228 229 ## [v0.0.7]- 2020-05-21 230 231 #### Added 232 233 - none 234 235 #### Fixed 236 237 - 修复`KStr.ToCamelCase`将首字母大写的驼峰串(如SayHello->Sayhello)转换错误问题 238 239 #### Changed 240 241 - none 242 243 #### Removed 244 245 - none 246 247 ## [v0.0.6]- 2020-04-28 248 249 #### Added 250 251 - `KNum.AbsInt` 252 253 #### Fixed 254 255 - none 256 257 #### Changed 258 259 - rename `KNum.Abs` to `KNum.AbsFloat` 260 261 #### Removed 262 263 - none 264 265 ## [v0.0.5]- 2020-03-20 266 267 #### Added 268 269 - `KArr.InInt64Slice` 270 - `KArr.InIntSlice` 271 - `KArr.InStringSlice` 272 - `KArr.IsEqualArray` 273 - `KConv.Byte2Hexs` 274 - `KConv.Hexs2Byte` 275 - `KConv.Runes2Bytes` 276 - `KEncr.AesCBCDecrypt` 277 - `KEncr.AesCBCEncrypt` 278 - `KEncr.AesCFBDecrypt` 279 - `KEncr.AesCFBEncrypt` 280 - `KEncr.AesCTRDecrypt` 281 - `KEncr.AesCTREncrypt` 282 - `KEncr.AesOFBDecrypt` 283 - `KEncr.AesOFBEncrypt` 284 - `KEncr.GenerateRsaKeys` 285 - `KEncr.RsaPrivateDecrypt` 286 - `KEncr.RsaPrivateEncrypt` 287 - `KEncr.RsaPublicDecrypt` 288 - `KEncr.RsaPublicEncrypt` 289 - `KFile.AppendFile` 290 - `KFile.GetFileMode` 291 - `KFile.ReadFirstLine` 292 - `KFile.ReadLastLine` 293 - `KNum.Percent` 294 - `KNum.RoundPlus` 295 - `KOS.GetBiosInfo` 296 - `KOS.GetBoardInfo` 297 - `KOS.GetCpuInfo` 298 - `KOS.IsProcessExists` 299 - `KStr.AtWho` 300 - `KStr.ClearUrlPrefix` 301 - `KStr.ClearUrlSuffix` 302 - `KStr.Gravatar` 303 - `KStr.IsWord` 304 - `KStr.RemoveEmoji` 305 - `KStr.UuidV4` 306 - `KTime.DaysBetween` 307 - `KTime.EndOfDay` 308 - `KTime.EndOfMonth` 309 - `KTime.EndOfWeek` 310 - `KTime.EndOfYear` 311 - `KTime.StartOfDay` 312 - `KTime.StartOfMonth` 313 - `KTime.StartOfWeek` 314 - `KTime.StartOfYear` 315 316 #### Fixed 317 318 - none 319 320 #### Changed 321 322 - `KFile.IsFile` 增加文件类型参数LkkFileType 323 - `KFile.WriteFile` 增加权限参数perm 324 - `KOS.Getenv` 增加默认值参数 325 - `KStr.Random` 移除time.Sleep 326 - `KTime.GetMonthDays` 放弃map,直接比较 327 - rename `KOS.GetProcessExeByPid` to `KOS.GetProcessExecPath` 328 - rename `KTime.Time` to `KTime.UnixTime` 329 330 #### Removed 331 332 - none 333 334 ## [v0.0.4]- 2020-03-06 335 336 #### Added 337 338 - `KStr.Index` 339 - `KStr.LastIndex` 340 341 #### Fixed 342 343 - none 344 345 #### Changed 346 347 - `KStr.RemoveBefore` 增加参数ignoreCase 348 - `KStr.RemoveAfter` 增加参数ignoreCase 349 - `KStr.StartsWith` 增加参数ignoreCase,使用Index代替MbSubstr 350 - `KStr.EndsWith` 增加参数ignoreCase,使用LastIndex代替MbSubstr 351 352 #### Removed 353 354 - none 355 356 ## [v0.0.3]- 2020-03-03 357 358 #### Added 359 360 - 增加常量`DYNAMIC_KEY_LEN`动态密钥长度 361 362 #### Fixed 363 364 - `KEncr.AuthCode` 修复bounds out of range错误 365 366 #### Changed 367 368 - `KEncr.AuthCode` 动态密钥长度改为8 369 - `KEncr.EasyEncrypt` 动态密钥长度改为8 370 - `KEncr.EasyDecrypt` 动态密钥长度改为8 371 - `KTime.CheckDate(month, day, year int)` to `CheckDate(year, month, day int)` 372 - `KNum.ByteFormat` 增加'delimiter'参数,为数字和单位间的分隔符 373 374 #### Removed 375 376 - none 377 378 ## [v0.0.2]- 2020-02-09 379 380 #### Added 381 382 - `KArr.JoinInts` 383 - `KArr.JoinStrings` 384 - `KArr.Unique64Ints` 385 - `KArr.UniqueInts` 386 - `KArr.UniqueStrings` 387 - `KConv.ToBool` 388 - `KConv.IsNil` 389 - `KDbug.CallMethod` 390 - `KDbug.GetFuncDir` 391 - `KDbug.GetFuncFile` 392 - `KDbug.GetFuncPackage` 393 - `KDbug.GetMethod` 394 - `KDbug.HasMethod` 395 - `KFile.CountLines` 396 - `KFile.IsZip` 397 - `KFile.ReadInArray` 398 - `KFile.UnZip` 399 - `KFile.Zip` 400 - `KNum.Average` 401 - `KNum.AverageFloat64` 402 - `KNum.AverageInt` 403 - `KNum.FloatEqual` 404 - `KNum.GeoDistance` 405 - `KNum.MaxFloat64` 406 - `KNum.MaxInt` 407 - `KNum.RandFloat64` 408 - `KNum.RandInt64` 409 - `KNum:Sum` 410 - `KNum:SumFloat64` 411 - `KNum:SumInt` 412 - `KOS.ForceGC` 413 - `KOS.GetPidByPort` 414 - `KOS.GetProcessExeByPid` 415 - `KOS.TriggerGC` 416 - `KStr.CountWords` 417 - `KStr.EndsWith` 418 - `KStr.Img2Base64` 419 - `KStr.IsBlank` 420 - `KStr.IsEmpty` 421 - `KStr.IsLower` 422 - `KStr.IsMd5` 423 - `KStr.IsSha1` 424 - `KStr.IsSha256` 425 - `KStr.IsSha512` 426 - `KStr.IsUpper` 427 - `KStr.Jsonp2Json` 428 - `KStr.StartsWith` 429 - `KStr.ToKebabCase` 430 - `KStr.ToSnakeCase` 431 - `KTime.Day` 432 - `KTime.Hour` 433 - `KTime.Minute` 434 - `KTime.Month` 435 - `KTime.Second` 436 - `KTime.Str2Timestruct` 437 - `KTime.Year` 438 439 #### Fixed 440 441 - `KStr.Trim`, 当输入"0"时,结果为空的BUG. 442 443 #### Changed 444 445 - `KArr.Implode`, 增加对map的处理. 446 - `KEncr.EasyDecrypt`, 改进循环. 447 - `KEncr.EasyEncrypt`, 改进循环. 448 - `KNum.Max`, 接受任意类型的参数. 449 - `KNum.Min`, 接受任意类型的参数. 450 - `KNum.Sum`, 只对数值类型求和. 451 - `KOS.Pwd`, 弃用os.Args[0],改用os.Executable. 452 - `KStr.IsASCII`, 弃用正则判断. 453 - `KStr.IsEmail`, 去掉邮箱是否真实存在的检查. 454 - `KStr.MbSubstr`, 允许参数start/length为负数. 455 - `KStr.Substr`, 允许参数start/length为负数. 456 - rename `KArr.ArraySearchMutilItem` to `ArraySearchMutil` 457 - rename `KArr.MapMerge` to `MergeMap` 458 - rename `KArr.SliceMerge` to `MergeSlice` 459 - rename `KConv.Bin2dec` to `Bin2Dec` 460 - rename `KConv.Bin2hex` to `Bin2Hex` 461 - rename `KConv.ByteToFloat64` to `Byte2Float64` 462 - rename `KConv.ByteToInt64` to `Byte2Int64` 463 - rename `KConv.BytesSlice2Str` to `Bytes2Str` 464 - rename `KConv.Dec2bin` to `Dec2Bin` 465 - rename `KConv.Dec2hex` to `Dec2Hex` 466 - rename `KConv.Dec2oct` to `Dec2Oct` 467 - rename `KConv.Hex2bin` to `Hex2Bin` 468 - rename `KConv.Hex2dec` to `Hex2Dec` 469 - rename `KConv.Ip2long` to `Ip2Long` 470 - rename `KConv.Long2ip` to `Long2Ip` 471 - rename `KConv.Oct2dec` to `Oct2Dec` 472 - rename `KConv.Str2ByteSlice` to `Str2Bytes` 473 - rename `KConv.StrictStr2Float` to `Str2FloatStrict` 474 - rename `KConv.StrictStr2Int` to `Str2IntStrict` 475 - rename `KConv.StrictStr2Uint` to `Str2UintStrict` 476 - rename `KFile.Filemtime` to `GetModTime` 477 - rename `KFile.GetContents` to `ReadFile` 478 - rename `KFile.PutContents` to `WriteFile` 479 - rename `KStr.CamelName` to `ToCamelCase` 480 - rename `KStr.LowerCaseFirstWords` to `Lcwords` 481 - rename `KStr.StrShuffle` to `Shuffle` 482 - rename `KStr.Strrev` to `Reverse` 483 - rename `KStr.UpperCaseFirstWords` to `Ucwords` 484 - rename `KTime.Strtotime` to `Str2Timestamp` 485 486 #### Removed 487 488 - remove `KConv.Int2Bool` 489 490 *--end of file--*