Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,851 questions

51,772 answers

573 users

How to execute 3 functions concurrently in Go

1 Answer

0 votes
package main
 
import (
    "fmt"
    "sync"
    "time"
)
 
func main() {
    var r1, r2, r3 string
 
    start := time.Now()
 
    var wg sync.WaitGroup
    wg.Add(3)
    go func() {
        r1 = f1()
        wg.Done()
    }()
    go func() {
        r2 = f2()
        wg.Done()
    }()
    go func() {
        r3 = f3()
        wg.Done()
    }()
    wg.Wait()
 
    fmt.Println("Duration:", time.Since(start))
 
    fmt.Println("r1 =", r1)
    fmt.Println("r2 =", r2)
    fmt.Println("r3 =", r3)
}
 
func f1() string {
    time.Sleep(300 * time.Millisecond)
    return "f1()"
}
 
func f2() string {
    time.Sleep(500 * time.Millisecond)
    return "f2()"
}
 
func f3() string {
    time.Sleep(100 * time.Millisecond)
    return "f3()"
}
 
 
 
/*
run:
 
Duration: 500.943167ms
r1 = f1()
r2 = f2()
r3 = f3()
 
*/

 



answered Sep 16, 2025 by avibootz
edited Sep 16, 2025 by avibootz
...