Explorar o código

Using variadic argument to StringFallback implementation

Daker Fernandes Pinheiro %!s(int64=9) %!d(string=hai) anos
pai
achega
2d09dfd34f
Modificáronse 1 ficheiros con 10 adicións e 10 borrados
  1. 10 10
      pkg/util/strings.go

+ 10 - 10
pkg/util/strings.go

@@ -1,18 +1,18 @@
 package util
 package util
 
 
 func StringsFallback2(val1 string, val2 string) string {
 func StringsFallback2(val1 string, val2 string) string {
-	if val1 != "" {
-		return val1
-	}
-	return val2
+	return stringsFallback(val1, val2)
 }
 }
 
 
 func StringsFallback3(val1 string, val2 string, val3 string) string {
 func StringsFallback3(val1 string, val2 string, val3 string) string {
-	if val1 != "" {
-		return val1
-	}
-	if val2 != "" {
-		return val2
+	return stringsFallback(val1, val2, val3)
+}
+
+func stringsFallback(vals ...string) string {
+	for _, v := range vals {
+	  if v != "" {
+	    return v
+	  }
 	}
 	}
-	return val3
+	return ""
 }
 }