获取结构体私有字段的slice类型值
数据元
& cronexpr. Expression{ expression: "" , secondList: [ ] int { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 , 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 } , minuteList: [ ] int { 0 , 59 } , hourList: [ ] int { 0 , 4 , 8 , 12 , 16 , 20 } , daysOfMonth: map [ int ] bool { 1 : true , 6 : true , 11 : true , 16 : true , 21 : true , 26 : true , 31 : true } , workdaysOfMonth: map [ int ] bool { } , lastDayOfMonth: false , lastWorkdayOfMonth: false , daysOfMonthRestricted: true , actualDaysOfMonthList: [ ] int ( nil ) , monthList: [ ] int { 1 , 3 , 5 , 7 , 9 , 11 } , daysOfWeek: map [ int ] bool { 0 : true , 3 : true , 6 : true } , specificWeekDaysOfWeek: map [ int ] bool { } , lastWeekDaysOfWeek: map [ int ] bool { } , daysOfWeekRestricted: true , yearList: [ ] int { 1970 , 1975 , 1980 , 1985 , 1990 , 1995 , 2000 , 2005 , 2010 , 2015 , 2020 , 2025 , 2030 , 2035 , 2040 , 2045 , 2050 , 2055 , 2060 , 2065 , 2070 , 2075 , 2080 , 2085 , 2090 , 2095 } }
var (
val reflect. Value
)
val = reflect. ValueOf ( * expr)
s := val. FieldByName ( "secondList" )
c := s. Len ( )
var list [ ] int64
for i := 0 ; i < c ; i ++ {
f := s. Index ( i)
list = append ( list, f. Int ( ) )
}
fmt. Println ( list)
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 ]
获取map
iter := reflect. ValueOf ( * expr) . FieldByName ( "daysOfWeek" ) . MapRange ( )
for iter. Next ( ) {
k := iter. Key ( )
weekSli = append ( weekSli, k. Int ( ) )
}