typestar

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

  1. break label sale de ese bucle, no del más interno.
  2. continue label arranca su siguiente iteración.
  3. Reemplaza la bandera de encontrado que, si no, los bucles anidados necesitan.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 3 de 4 en Control de flujo; paso 8 de 30 en Fundamentos del lenguaje.

← Anterior Siguiente →