THRIFT-2175 Wrong field type set for binary

Patch: Jens Geyer
diff --git a/compiler/cpp/src/generate/t_go_generator.cc b/compiler/cpp/src/generate/t_go_generator.cc
index 24af687..00af893 100644
--- a/compiler/cpp/src/generate/t_go_generator.cc
+++ b/compiler/cpp/src/generate/t_go_generator.cc
@@ -3129,10 +3129,11 @@
             throw "NO T_VOID CONSTRUCT";
 
         case t_base_type::TYPE_STRING:
+            /* this is wrong, binary is still a string type internally
             if (((t_base_type*)type)->is_binary()) {
                 return "thrift.BINARY";
             }
-
+            */
             return "thrift.STRING";
 
         case t_base_type::TYPE_BOOL:
diff --git a/lib/go/thrift/serializer_types.go b/lib/go/thrift/serializer_types.go
index 2ce353b..8416b85 100644
--- a/lib/go/thrift/serializer_types.go
+++ b/lib/go/thrift/serializer_types.go
@@ -470,7 +470,7 @@
 
 func (p *TestStruct) writeField8(oprot TProtocol) (err error) {
 	if p.Bin != nil {
-		if err := oprot.WriteFieldBegin("bin", BINARY, 8); err != nil {
+		if err := oprot.WriteFieldBegin("bin", STRING, 8); err != nil {
 			return fmt.Errorf("%T write field begin error 8:bin: %s", p, err)
 		}
 		if err := oprot.WriteBinary(p.Bin); err != nil {