diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java
index f9bbb5c00c73501088a1e9ae74a288e852ba3296..c9f45740d3a4bf280b87fc159e6e6ef99935faa5 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java
@@ -387,10 +387,29 @@ public class GoClientCodegen extends AbstractGoCodegen {
         }
     }
 
+    /**
+     * Determines if at least one of the allOf pieces of a schema are of type string
+     *
+     * @param p
+     * @return
+     */
+    private boolean isAllOfStringSchema(Schema schema) {
+        if (schema.getAllOf() != null) {
+            Iterator<Schema> it = schema.getAllOf().iterator();
+            while (it.hasNext()) {
+                Schema childSchema = ModelUtils.getReferencedSchema(this.openAPI, it.next());
+                if (ModelUtils.isStringSchema(childSchema)) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
     @Override
     public String toDefaultValue(Schema p) {
         p = ModelUtils.getReferencedSchema(this.openAPI, p);
-        if (ModelUtils.isStringSchema(p)) {
+        if (ModelUtils.isStringSchema(p) || isAllOfStringSchema(p)) {
             Object defaultObj = p.getDefault();
             if (defaultObj != null) {
                 if (defaultObj instanceof java.lang.String) {