array.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package common
  2. import (
  3. "fmt"
  4. "strings"
  5. )
  6. func ArraySearchOfString(item string, arr []string) (bool, int) {
  7. for index, val := range arr {
  8. if val == item {
  9. return true, index
  10. }
  11. }
  12. return false, 0
  13. }
  14. /**
  15. * 通用的InArray(注意如果interface的动态值为指针类型 ==操作符的语义)
  16. */
  17. func InArray(search int, arr []int) bool {
  18. for _, val := range arr {
  19. if val == search {
  20. return true
  21. }
  22. }
  23. return false
  24. }
  25. func InArrayUint64(search uint64, values []uint64) bool {
  26. for _, value := range values {
  27. if value == search {
  28. return true
  29. }
  30. }
  31. return false
  32. }
  33. /**
  34. * 通用的InArray(注意如果interface的动态值为指针类型 ==操作符的语义)
  35. */
  36. func InArrayString(search string, arr []string) bool {
  37. for _, value := range arr {
  38. if value == search {
  39. return true
  40. }
  41. }
  42. return false
  43. }
  44. /**
  45. * 通用的InArray(注意如果interface的动态值为指针类型 ==操作符的语义)
  46. */
  47. func InArrayStringMap(search string, arr map[string]int) bool {
  48. for key, _ := range arr {
  49. if key == search {
  50. return true
  51. }
  52. }
  53. return false
  54. }
  55. func InArrayUin64Map(search uint64, arr map[uint64]int) bool {
  56. for key, _ := range arr {
  57. if key == search {
  58. return true
  59. }
  60. }
  61. return false
  62. }
  63. func InArrayUint64MapV2(search uint64, arr map[uint64]uint64) bool {
  64. for key, _ := range arr {
  65. if key == search {
  66. return true
  67. }
  68. }
  69. return false
  70. }
  71. func InArrayStringMapV2(search string, arr map[string]uint64) bool {
  72. for key, _ := range arr {
  73. if key == search {
  74. return true
  75. }
  76. }
  77. return false
  78. }
  79. func ConvertArray2String(array interface{}) string {
  80. return strings.Replace(strings.Trim(fmt.Sprint(array), "[]"), " ", ",", -1)
  81. }