title: Using pointer to channel
body: <p>Is it good practice to use pointer to channel? For example I read the data concurrently and pass those data <code>map[string]sting</code> using channel  and process this channel inside <code>getSameValues()</code>.</p>
  
  <pre><code>func getSameValues(results *chan map[string]string) []string {
      var datas = make([]map[string]string, len(*results))
      i := 0
      for values := range *results {
          datas[i] = values
          i++
      }
  }
  </code></pre>
  
  <p>The reason I do this is because the <code>chan map[string]string</code> there will be around millions of data inside the map and it will be more than one map. </p>
  
  <p>So I think it would be a good approach if I can pass pointer to the function so that it will not copy the data to save some resource of memory.</p>
  
  <p>I didn't find a good practice in <a href="https://golang.org/doc/effective_go.html#channels" rel="noreferrer">effective go</a>. So I'm kinda doubt about my approach here. </p>