typestar

WaitGroup.Go en Go

Go 1.25 agregó Go, que hace el Add y el Done por ti.

func square(values []int) []int {
    results := make([]int, len(values))
    var wg sync.WaitGroup

    for i, value := range values {
        wg.Go(func() {
            results[i] = value * value // cada índice se escribe una vez
        })
    }

    wg.Wait()
    return results
}

Cómo funciona

  1. wg.Go(f) reemplaza Add, una goroutine y un Done diferido.
  2. Wait sigue bloqueando hasta que cada tarea termina.
  3. Los resultados aún piden un canal o un mutex; el grupo solo cuenta.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
232
Tokens
66
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 42 segundos.

Escribe este fragmento

Paso 2 de 3 en Goroutines; paso 2 de 25 en Concurrencia.

← Anterior Siguiente →