How to pass array of channels












-2















I am trying to pass a array of channels to the method " func Data(channel chan<- Book)" , however I encouter an error which states ( channel[0] (type chan<- Book does not support indexing)") I understand what it means, but isn't there a way to pass an the array ? If so what alternatives do I have



     func Data(channel chan<- Book) {
var data EData
data = ReadJSONFile("Data.json")

go Writer(data.BookStores[0].Central, channel[0]) // at this
// place I get "invalid operation: channel[0] (type chan<- Book
// does not support indexing)"
}









share|improve this question




















  • 1





    Possible duplicate of How to allocate an array of channels

    – Rene Knop
    Nov 20 '18 at 19:52
















-2















I am trying to pass a array of channels to the method " func Data(channel chan<- Book)" , however I encouter an error which states ( channel[0] (type chan<- Book does not support indexing)") I understand what it means, but isn't there a way to pass an the array ? If so what alternatives do I have



     func Data(channel chan<- Book) {
var data EData
data = ReadJSONFile("Data.json")

go Writer(data.BookStores[0].Central, channel[0]) // at this
// place I get "invalid operation: channel[0] (type chan<- Book
// does not support indexing)"
}









share|improve this question




















  • 1





    Possible duplicate of How to allocate an array of channels

    – Rene Knop
    Nov 20 '18 at 19:52














-2












-2








-2








I am trying to pass a array of channels to the method " func Data(channel chan<- Book)" , however I encouter an error which states ( channel[0] (type chan<- Book does not support indexing)") I understand what it means, but isn't there a way to pass an the array ? If so what alternatives do I have



     func Data(channel chan<- Book) {
var data EData
data = ReadJSONFile("Data.json")

go Writer(data.BookStores[0].Central, channel[0]) // at this
// place I get "invalid operation: channel[0] (type chan<- Book
// does not support indexing)"
}









share|improve this question
















I am trying to pass a array of channels to the method " func Data(channel chan<- Book)" , however I encouter an error which states ( channel[0] (type chan<- Book does not support indexing)") I understand what it means, but isn't there a way to pass an the array ? If so what alternatives do I have



     func Data(channel chan<- Book) {
var data EData
data = ReadJSONFile("Data.json")

go Writer(data.BookStores[0].Central, channel[0]) // at this
// place I get "invalid operation: channel[0] (type chan<- Book
// does not support indexing)"
}






go






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 21 '18 at 7:01









Flimzy

37.8k96497




37.8k96497










asked Nov 20 '18 at 19:27









vincentevincente

1




1








  • 1





    Possible duplicate of How to allocate an array of channels

    – Rene Knop
    Nov 20 '18 at 19:52














  • 1





    Possible duplicate of How to allocate an array of channels

    – Rene Knop
    Nov 20 '18 at 19:52








1




1





Possible duplicate of How to allocate an array of channels

– Rene Knop
Nov 20 '18 at 19:52





Possible duplicate of How to allocate an array of channels

– Rene Knop
Nov 20 '18 at 19:52












2 Answers
2






active

oldest

votes


















2














The proper type to pass a slice of channels of Book elements is:



chan<- Book


The code in your original question is for a channel of Book slices.






share|improve this answer































    1














    chan<- Book needs to become chan<- Book. modifies the type after it in go, so if you want an array of channels, put it before chan.



    func Data(channel chan<- Book) {
    var data EData
    data = ReadJSONFile("Data.json")

    go Writer(data.BookStores[0].Central, channel[0])
    // ...
    }


    Test: https://play.golang.org/p/sQt3VawvhoI






    share|improve this answer























      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53400188%2fhow-to-pass-array-of-channels%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      2














      The proper type to pass a slice of channels of Book elements is:



      chan<- Book


      The code in your original question is for a channel of Book slices.






      share|improve this answer




























        2














        The proper type to pass a slice of channels of Book elements is:



        chan<- Book


        The code in your original question is for a channel of Book slices.






        share|improve this answer


























          2












          2








          2







          The proper type to pass a slice of channels of Book elements is:



          chan<- Book


          The code in your original question is for a channel of Book slices.






          share|improve this answer













          The proper type to pass a slice of channels of Book elements is:



          chan<- Book


          The code in your original question is for a channel of Book slices.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 20 '18 at 19:30









          Tim CooperTim Cooper

          119k31237225




          119k31237225

























              1














              chan<- Book needs to become chan<- Book. modifies the type after it in go, so if you want an array of channels, put it before chan.



              func Data(channel chan<- Book) {
              var data EData
              data = ReadJSONFile("Data.json")

              go Writer(data.BookStores[0].Central, channel[0])
              // ...
              }


              Test: https://play.golang.org/p/sQt3VawvhoI






              share|improve this answer




























                1














                chan<- Book needs to become chan<- Book. modifies the type after it in go, so if you want an array of channels, put it before chan.



                func Data(channel chan<- Book) {
                var data EData
                data = ReadJSONFile("Data.json")

                go Writer(data.BookStores[0].Central, channel[0])
                // ...
                }


                Test: https://play.golang.org/p/sQt3VawvhoI






                share|improve this answer


























                  1












                  1








                  1







                  chan<- Book needs to become chan<- Book. modifies the type after it in go, so if you want an array of channels, put it before chan.



                  func Data(channel chan<- Book) {
                  var data EData
                  data = ReadJSONFile("Data.json")

                  go Writer(data.BookStores[0].Central, channel[0])
                  // ...
                  }


                  Test: https://play.golang.org/p/sQt3VawvhoI






                  share|improve this answer













                  chan<- Book needs to become chan<- Book. modifies the type after it in go, so if you want an array of channels, put it before chan.



                  func Data(channel chan<- Book) {
                  var data EData
                  data = ReadJSONFile("Data.json")

                  go Writer(data.BookStores[0].Central, channel[0])
                  // ...
                  }


                  Test: https://play.golang.org/p/sQt3VawvhoI







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 20 '18 at 19:54









                  Frank BryceFrank Bryce

                  5,02131842




                  5,02131842






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53400188%2fhow-to-pass-array-of-channels%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

                      Alcedinidae

                      RAC Tourist Trophy