gvar_vars.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  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. package gvar
  7. import (
  8. "github.com/gogf/gf/v2/util/gconv"
  9. )
  10. // Vars is a slice of *Var.
  11. type Vars []*Var
  12. // Strings converts and returns `vs` as []string.
  13. func (vs Vars) Strings() (s []string) {
  14. for _, v := range vs {
  15. s = append(s, v.String())
  16. }
  17. return s
  18. }
  19. // Interfaces converts and returns `vs` as []interface{}.
  20. func (vs Vars) Interfaces() (s []interface{}) {
  21. for _, v := range vs {
  22. s = append(s, v.Val())
  23. }
  24. return s
  25. }
  26. // Float32s converts and returns `vs` as []float32.
  27. func (vs Vars) Float32s() (s []float32) {
  28. for _, v := range vs {
  29. s = append(s, v.Float32())
  30. }
  31. return s
  32. }
  33. // Float64s converts and returns `vs` as []float64.
  34. func (vs Vars) Float64s() (s []float64) {
  35. for _, v := range vs {
  36. s = append(s, v.Float64())
  37. }
  38. return s
  39. }
  40. // Ints converts and returns `vs` as []Int.
  41. func (vs Vars) Ints() (s []int) {
  42. for _, v := range vs {
  43. s = append(s, v.Int())
  44. }
  45. return s
  46. }
  47. // Int8s converts and returns `vs` as []int8.
  48. func (vs Vars) Int8s() (s []int8) {
  49. for _, v := range vs {
  50. s = append(s, v.Int8())
  51. }
  52. return s
  53. }
  54. // Int16s converts and returns `vs` as []int16.
  55. func (vs Vars) Int16s() (s []int16) {
  56. for _, v := range vs {
  57. s = append(s, v.Int16())
  58. }
  59. return s
  60. }
  61. // Int32s converts and returns `vs` as []int32.
  62. func (vs Vars) Int32s() (s []int32) {
  63. for _, v := range vs {
  64. s = append(s, v.Int32())
  65. }
  66. return s
  67. }
  68. // Int64s converts and returns `vs` as []int64.
  69. func (vs Vars) Int64s() (s []int64) {
  70. for _, v := range vs {
  71. s = append(s, v.Int64())
  72. }
  73. return s
  74. }
  75. // Uints converts and returns `vs` as []uint.
  76. func (vs Vars) Uints() (s []uint) {
  77. for _, v := range vs {
  78. s = append(s, v.Uint())
  79. }
  80. return s
  81. }
  82. // Uint8s converts and returns `vs` as []uint8.
  83. func (vs Vars) Uint8s() (s []uint8) {
  84. for _, v := range vs {
  85. s = append(s, v.Uint8())
  86. }
  87. return s
  88. }
  89. // Uint16s converts and returns `vs` as []uint16.
  90. func (vs Vars) Uint16s() (s []uint16) {
  91. for _, v := range vs {
  92. s = append(s, v.Uint16())
  93. }
  94. return s
  95. }
  96. // Uint32s converts and returns `vs` as []uint32.
  97. func (vs Vars) Uint32s() (s []uint32) {
  98. for _, v := range vs {
  99. s = append(s, v.Uint32())
  100. }
  101. return s
  102. }
  103. // Uint64s converts and returns `vs` as []uint64.
  104. func (vs Vars) Uint64s() (s []uint64) {
  105. for _, v := range vs {
  106. s = append(s, v.Uint64())
  107. }
  108. return s
  109. }
  110. // Scan converts `vs` to []struct/[]*struct.
  111. func (vs Vars) Scan(pointer interface{}, mapping ...map[string]string) error {
  112. return gconv.Structs(vs.Interfaces(), pointer, mapping...)
  113. }