El patrón Must en Go
Para valores que no pueden fallar en ejecución, mejor un panic al arrancar.
func Must[T any](value T, err error) T {
if err != nil {
panic(err)
}
return value
}
var pattern = Must(regexp.Compile(`^[a-z][a-z0-9_-]{1,31}$`))
func validSlug(slug string) bool {
return pattern.MatchString(slug)
}
Cómo funciona
Mustenvuelve una llamada que devuelve un valor y un error.- Úsalo solo para inicialización a nivel de paquete.
- Los genéricos dejan que un solo Must sirva para todos los tipos.
Palabras clave y builtins usados aquí
anyboolerrorfuncifpanicreturnstringvar
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 218
- Tokens
- 56
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 32 segundos.
Paso 2 de 2 en Tus propios errores; paso 9 de 15 en Errores.