https://play.golang.org/p/36HbIQRXQAm
I need to pass a refference of slice  into a function but something is wrong because iterating over slice doesn’t output any data.
package main
import (
	"fmt"
)
func main() {
	timeMarkers := []string{}
	go timeMarkersSearch(&timeMarkers)
	for _, marker := range timeMarkers {
		fmt.Println(marker)
	}
}
func timeMarkersSearch(timeMarkers *[]string) {
	s1 := "s1"
	s2 := "s2"
	*timeMarkers = append(*timeMarkers, s1)
	*timeMarkers = append(*timeMarkers, s2)
}
             
            
              
              
              
            
            
           
          
            
              
                NobbZ
                (Norbert Melzer)
              
              
                  
                  
              2
              
             
            
              There is nothing wrong, but main prints the empty slice before the goroutine is able to add any elements.
You can either remove the go or use a sync.WaitGroup to synchronize your go routines as I did on the playground
             
            
              
              
              2 Likes
            
            
           
          
            
              
                inancgumus
                (Inanc Gumus)
              
              
                  
                  
              3
              
             
            
              You don’t need to use sync.WaitGroup for that. You can simply use a done channel. Here’s the refactored code.
I also think that you may want to use channels instead, like this.
             
            
              
              
              2 Likes
            
            
           
          
            
              
                system
                (system)
                  Closed 
              
              
                  
                  
              4
              
             
            
              This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.