break y continue con etiqueta en Go
Una etiqueta nombra el bucle, y así break y continue salen del correcto.
func firstPair(values []int, target int) (int, int) {
search:
for i, a := range values {
for j, b := range values {
if i == j {
continue search
}
if a+b == target {
return i, j
}
}
}
return -1, -1
}
Cómo funciona
break labelsale de ese bucle, no del más interno.continue labelarranca su siguiente iteración.- Reemplaza la bandera de encontrado que, si no, los bucles anidados necesitan.
Palabras clave y builtins usados aquí
continueforfuncifintrangereturn
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 198
- Tokens
- 64
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 45 segundos.
Paso 3 de 4 en Control de flujo; paso 8 de 30 en Fundamentos del lenguaje.