Goでstring型スライスにアクセス出来ない
[ あああ ]
type: []string
上記のようなスライスtweet
にtweet[0]
のようにアクセスしようとしましたが、からの文字を参照してしまいます。なぜでしょうか。
コードは下記のようになっています。
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
}
channelの送信部分
// 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:
}
}
}
clientというのは https://github.com/ChimeraCoder/anaconda のものです。