go: Fix indentation in compiler

This fixes a small case I missed in 4930caca.

Before:

    func NewFoo() *Foo {
        return &Foo{
        DefDef: 10,

        DefOpt: 11,
    }
    }

After:

    func NewFoo() *Foo {
        return &Foo{
            DefDef: 10,
            DefOpt: 11,
        }
    }
diff --git a/compiler/cpp/src/thrift/generate/t_go_generator.cc b/compiler/cpp/src/thrift/generate/t_go_generator.cc
index 65574dd..a42c71a 100644
--- a/compiler/cpp/src/thrift/generate/t_go_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_go_generator.cc
@@ -1209,19 +1209,25 @@
                                                     t_struct* tstruct,
                                                     bool is_args_or_result) {
   out << publicize(type_name(tstruct), is_args_or_result) << "{";
+  indent_up();
   const vector<t_field*>& members = tstruct->get_members();
+  bool empty = true;
   for (auto member : members) {
     bool pointer_field = is_pointer_field(member);
     string publicized_name;
     t_const_value* def_value;
     get_publicized_name_and_def_value(member, &publicized_name, &def_value);
     if (!pointer_field && def_value != nullptr && !omit_initialization(member)) {
+      empty = false;
       out << '\n' << indent() << publicized_name << ": "
-          << render_field_initial_value(member, member->get_name(), pointer_field) << ","
-          << '\n';
+          << render_field_initial_value(member, member->get_name(), pointer_field) << ",";
     }
   }
 
+  indent_down();
+  if (!empty) {
+    out << '\n' << indent();
+  }
   out << "}" << '\n';
 }