func (f Fields) SetByteOrder(order binary.ByteOrder) {
for _, field := range f {
- field.Order = order
+ if field != nil {
+ field.Order = order
+ }
}
}
func (f Fields) String() string {
fields := make([]string, len(f))
for i, field := range f {
- fields[i] = field.String()
+ if field != nil {
+ fields[i] = field.String()
+ }
}
return "{" + strings.Join(fields, ", ") + "}"
}
}
size := 0
for i, field := range f {
- v := val.Field(i)
- if v.CanSet() {
- size += field.Size(v, options)
+ if field != nil {
+ size += field.Size(val.Field(i), options)
}
}
return size
}
pos := 0
for i, field := range f {
- if !field.CanSet {
+ if field == nil {
continue
}
v := val.Field(i)
var tmp [8]byte
var buf []byte
for i, field := range f {
- if !field.CanSet {
+ if field == nil {
continue
}
v := val.Field(i)