func writeAndCheckError(e *amf.Encoder, flag uint8, args ...interface{}) error { for i := 0; i < len(args); i += 2 { f := args[i].(uint8) if flag&f != f { continue } if err := e.WriteValue(args[i+1]); err != nil { return err } } return nil }