
[code]

    [ あああ ]
    type: []string
    
[/code]

上記のようなスライス`tweet`に`tweet[0]`のようにアクセスしようとしましたが、からの文字を参照してしまいます。なぜでしょうか。

コードは下記のようになっています。

[code]

    tweet := g.getTweets(1)
    fmt.Printf("%v", tweet) // [ あああ ]と表示される
    fmt.Printf("%T", tweet) // []stringと表示される
    fmt.Printf("%v", tweet[0]) //何も表示されない。あああと表示されてほしい
    
    //スライス生成部
    func (g *Game) getTweets(num int) []string {
        results := make([]string, num)
        for i := 0; i < num; i++ {
            results = append(results, <-g.tweetCh)
        }
        return results
    }
    
[/code]

channelの送信部分

[code]

    // StartPublicFilterStream start stream api
    func (s *Stream) StartPublicFilterStream(v url.Values, wg *sync.WaitGroup, tweetCh chan string) {
        defer wg.Done()
        stream := s.client.PublicStreamFilter(v)
    
        for {
            item := <-stream.C
            switch status := item.(type) {
            case anaconda.Tweet:
                s.CurrentTweet = status.Text
                tweetCh <- status.Text
            default:
            }
        }
    }
    
[/code]

clientというのは <https://github.com/ChimeraCoder/anaconda> のものです。


CC BY-SA 3.0
2015-11-14T06:35:36.423
18805
2015-11-14T06:55:04.173
2015-11-14T06:55:04.173
7232
7232
question
go
Goでstring型スライスにアクセス出来ない