code: func GoNativeType(t design.DataType) string {
  	switch actual := t.(type) {
  	case design.Primitive:
  		switch actual.Kind() {
  		case design.BooleanKind:
  			return "bool"
  		case design.IntegerKind:
  			return "int"
  		case design.NumberKind:
  			return "float64"
  		case design.StringKind:
  			return "string"
  		case design.DateTimeKind:
  			return "time.Time"
  		case design.UUIDKind:
  			return "uuid.UUID"
  		case design.AnyKind:
  			return "interface{}"
  		case design.FileKind:
  			return "multipart.FileHeader"
  		default:
  			panic(fmt.Sprintf("goa bug: unknown primitive type %#v", actual))
  		}
  	case *design.Array:
  		return "[]" + GoNativeType(actual.ElemType.Type)
  	case design.Object:
  		return "map[string]interface{}"
  	case *design.Hash:
  		return fmt.Sprintf("map[%s]%s", GoNativeType(actual.KeyType.Type), GoNativeType(actual.ElemType.Type))
  	case *design.MediaTypeDefinition:
  		return GoNativeType(actual.Type)
  	case *design.UserTypeDefinition:
  		return GoNativeType(actual.Type)
  	default:
  		panic(fmt.Sprintf("goa bug: unknown type %#v", actual))
  	}
  }
docs: // GoNativeType returns the Go built-in type from which instances of t can be initialized.