slice_test.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package mhayaSlice
  2. import (
  3. "fmt"
  4. mhayaString "github.com/mhaya/extend/string"
  5. mhayaTime "github.com/mhaya/extend/time"
  6. "slices"
  7. "testing"
  8. "time"
  9. )
  10. //func TestUnique(t *testing.T) {
  11. // list := Unique[string]("1", "2", "3", "1")
  12. // fmt.Println(list)
  13. //}
  14. var currentTime = int64(1727686800)
  15. func TestUniques(t *testing.T) {
  16. //s1 := []string{"1", "2", "3"}
  17. //s2 := []string{"1", "2", "3"}
  18. //
  19. //list := Uniques[string](s1, s2)
  20. //fmt.Println(list)
  21. // 上次恢复时间
  22. var roolDay = int64(0)
  23. for i := 0; i < 10; i++ {
  24. RefreshRoll(&roolDay)
  25. }
  26. }
  27. func RefreshRoll(roolDay *int64) bool {
  28. arr := []string{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"}
  29. slice := make([]int, 0)
  30. for _, s := range arr {
  31. hour, _ := mhayaString.ToInt(s)
  32. slice = append(slice, hour)
  33. }
  34. rollHour := time.Unix(*roolDay, 0).Hour()
  35. // 小时数,24小时制
  36. //curHour := time.Now().Hour()
  37. curHour := 17
  38. if curHour == 0 {
  39. curHour = 24
  40. }
  41. if rollHour == 0 {
  42. rollHour = 24
  43. }
  44. isToday := mhayaTime.CreateFromTimestamp(*roolDay).IsToday()
  45. isTomorrow := mhayaTime.CreateFromTimestamp(*roolDay).IsTomorrow()
  46. // 昨天的24点isToday为true,所以24点必须单独处理
  47. if (rollHour == 24 && isTomorrow) || (rollHour != 24 && isToday) {
  48. slice = slices.DeleteFunc(slice, func(x int) bool {
  49. return x <= rollHour
  50. })
  51. }
  52. fmt.Println("slice:", slice)
  53. if slices.Contains(slice, curHour) {
  54. *roolDay = currentTime
  55. fmt.Println(" execute ==> num := p.Item[ItemRoll].AddSameTwo()")
  56. return true
  57. }
  58. return false
  59. }