¿Es posible usar cadenas. Contiene en el caso del interruptor? algo como:
func function(str string){ switch str { case "str1": ... case strings.Contains("test"): ... default: ... } }
Editar: es un ejemplo, ese no es el caso real para el que lo necesito. Estoy filtrando muchos resultados y quiero todos los resultados que contengan X y también tengo casos que necesito hacer coincidir por completo.
Puedes hacerlo:
package main import ( "fmt" "strings" ) func main() { str := "testString" switch { case strings.Contains(str, "test"): fmt.Println(true) default: fmt.Println(false) } }
https://go.dev/play/p/_2fMd-3kE-r
switch
sin argumento es como switch true
.
¿Por qué necesita un interruptor para esta salida booleana?
Utilice la siguiente función incorporada.
func strings.Contains(s string, substr string) bool