@Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (Double.doubleToRawLongBits(double_) != 0) {
        output.writeDouble(1, double_);
      }
      if (Float.floatToRawIntBits(float_) != 0) {
        output.writeFloat(2, float_);
      }
      if (int32_ != 0) {
        output.writeInt32(3, int32_);
      }
      if (int64_ != 0L) {
        output.writeInt64(4, int64_);
      }
      if (uint32_ != 0) {
        output.writeUInt32(5, uint32_);
      }
      if (uint64_ != 0L) {
        output.writeUInt64(6, uint64_);
      }
      if (sint32_ != 0) {
        output.writeSInt32(7, sint32_);
      }
      if (sint64_ != 0L) {
        output.writeSInt64(8, sint64_);
      }
      if (fixed32_ != 0) {
        output.writeFixed32(9, fixed32_);
      }
      if (fixed64_ != 0L) {
        output.writeFixed64(10, fixed64_);
      }
      if (sfixed32_ != 0) {
        output.writeSFixed32(11, sfixed32_);
      }
      if (sfixed64_ != 0L) {
        output.writeSFixed64(12, sfixed64_);
      }
      if (bool_ != false) {
        output.writeBool(13, bool_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(string_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 14, string_);
      }
      if (!bytesType_.isEmpty()) {
        output.writeBytes(15, bytesType_);
      }
      if (card_ != null) {
        output.writeMessage(16, getCard());
      }
      for (int i = 0; i < cards_.size(); i++) {
        output.writeMessage(17, cards_.get(i));
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetCardsmap(),
          CardsmapDefaultEntryHolder.defaultEntry,
          18);
      getUnknownFields().writeTo(output);
    }
<code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
core/src/test/java/com/alibaba/fastjson2/dubbo/GoogleProtobufBasic.java